{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Use Python in Advanced Statistics\n",
    "\n",
    "*這個學期剛剛學完了概率論與數理統計，這好趁這個機會複習一下並複習一下 `python`*\n",
    "<br>\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "## Chapter One Probability \n",
    "\n",
    "### 隨機試驗與樣本空間（Random Experiment and Sample Space）\n",
    "\n",
    "#### 隨機試驗\n",
    "隨機試驗是概率論中一個基本的概念。概括的講，在概率論中把符合下面三個特點的試驗叫做隨機試驗：\n",
    "* 可以在向空的條件下重複進行；\n",
    "* 每次試驗的可能結果不只一個，並且事先明確試驗的所有可能結果；\n",
    "* 進行一次試驗之前不能確定哪一個結果會出現。\n",
    "\n",
    "隨機試驗有很多種，例如常出現的擲骰子，摸球，射擊等。所有的隨機試驗的結果可以分為兩類來表示：<br>\n",
    "* 數量化表示：射擊命中的次數，商場每個小時的客流量，每天經過某個收費站的車輛等，這個結果本事就是數字；\n",
    "* 非數量化表示：拋硬幣的結果（正面/反面），化驗的結果（陽性/陰性）等，這些結果是定型的，非數量化的。但是可以用示性函數來表示，例如可以規定正面（陽性）為$1$，反面為$0$，這樣就可以實現了非數量化結果的數量化。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 樣本空間（Sample Space）：\n",
    "\n",
    "* 隨機試驗的所有可能結果構成的集合。一般即為$S$（capital S）；\n",
    "* $S$ 中的元素$e$稱為樣本點（也可以叫基本事件）；\n",
    "* 事件是樣本空間的子集，同樣是一個集合。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 事件的關係\n",
    "* 事件的包含：$A \\subseteq B$;\n",
    "* 事件的相等：$A = B$;\n",
    "* 互斥事件（互不相容事件）：不能同時出現；\n",
    "* 事件的和（並）：$A cup B$\n",
    "* 事件的差： $A - B$,$A$發生，$B$不發生；\n",
    "* 對立事件（逆事件）：互斥，必須出現其中一個。\n",
    "\n",
    "<br>\n",
    "事件的運算性質就是集合的性質"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 頻率和概率\n",
    "\n",
    "#### 頻率：\n",
    "\n",
    "頻率是指$0～1$之間的一個實數，在大量重複試驗的基礎上給出了隨機事件發生可能性的估計。<br>\n",
    "概率的穩定性：在充分多次試驗中，事件的頻率總在一個定值附近擺動，而且，試驗次數越多擺動越小。這個性質叫做頻率的穩定性。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 概率：\n",
    "\n",
    "概率的統計性定義：當試驗次數增加時，隨機時間$A$發生的頻率的穩定值為$p$就稱為概率。記為$P(A) = P$<br>\n",
    "概率的公理化定義：設隨機試驗對於的樣本空間為$S$。對每一個事件$A$，定義為$P(A)$，滿足：<br>\n",
    "1. 非負性：$P(A) \\geq 0$;\n",
    "2. 規範性：$P(S) = 1;\n",
    "3. 可列可加性：$A_1, A_2, \\dots 兩兩互斥，及$A_iA_j = \\oslash, i \\neq j$則 $P(\\cup A_i) = \\sum P(A_i)$ "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 條件概率（Conditional Probability）:\n",
    "$P(A|B)$表示在事件$B$發生的條件下，事件$A$發生的概率，相當於$A$在$B$所佔的比例。此時，樣本空間從原來的完整樣本空間$S$縮小到了$B$，由於有了條件的約束（事件$B$），使得原本的樣本空間減少了。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面我們可以通過韋恩圖做示例：<br>\n",
    "plot one：條件概率的樣本空間；<br>\n",
    "plot two：條件概率應如何計算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114914e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "import numpy as np\n",
    "import sympy\n",
    "\n",
    "\n",
    "from matplotlib_venn import venn3, venn3_circles\n",
    "plt.figure(figsize=(4,4))\n",
    "v = venn2(subsets=(2,2,1), set_labels = ('A', 'B'))\n",
    "\n",
    "\n",
    "\n",
    "plt.title(\"Sample Venn diagram - plot one\")\n",
    "plt.annotate('P(AB)', xy=v.get_label_by_id('11').get_position() - np.array([0, 0.05]), xytext=(-70,-70),\n",
    "             ha='center', textcoords='offset points', bbox=dict(boxstyle='round,pad=0.5', fc='gray', alpha=0.1),\n",
    "             arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0.5',color='gray'))\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPQAAAC9CAYAAACEeFBaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJztnXd8FHX6x9/PbspmQxoJISSQ0Js0lSYCIiioiOB5SFMUy9k9T4+znSThzvaznL0h9oIiNoo0BQWRIiUo0iGkEFpCCqmb3e/vj9nEEAEpuzuzm3m/XnllZ2f2+zyzs5/5fudbnkeUUpiYmAQGFr0dMDEx8RymoE1MAghT0CYmAYQpaBOTAMIUtIlJAGEK2sQkgDAF7SNEJE1EPtDbD08jIpkicpH79UMi8qbePjVkAl7QItJfRFaISJGIFIjIjyLSS2+/ThYRmS8iU4/x/kgR2SciQXr4dSyUUo8ppW7S24+GTEALWkQigTnAi0BjIAlIByr19OsUeRe4RkSk3vvXAh8qpap18MmnGOmmZXQCWtBAewCl1MdKKadSqlwptVAptRFARNqIyHciki8ih0TkQxGJrvmwuzk5WUQ2ikipiEwXkaYi8o2IlIjIYhGJcR/bUkSUiPxNRPaKSJ6I/PN4jolIX3fLoVBEMkRk0HEO/RKIBQbU+WwMcDnwnns7VESeFpEsEdkvIq+JSJh73yARyRGR+0TkgNuvSXXKekdEXhaRue5zWiUibU7g97Uissf9nT1cb99RjxUiMtPdiigSkR9E5Kw6+2JFZLaIFIvIGhH5r4gsr7NficgdIrId2O5+73kRyXZ/Zq2IDKhne6aIfOA+j19EpL2IPOg+72wRGXq88woUAl3Q2wCniLwrIpfWiK8OAjwOJAKdgBZAWr1jrgIuRrs5jAC+AR4CmqB9f3fXO/5CoB0wFLi/5vnyKKMiScBc4L9oLYd/ArNEpEn9Y5VS5cCnwMQ6b18NbFFKZbi3n3D71wNoi9YSmVLn+AQgyv3+jcDL9b6LsWgtlxhgB/BofT/cfncGXkVrHSSi3WiaH+tYN9+gfRfxwDrgwzr7XgZK3b5d5/6rzyigD9DZvb3GfY6NgY+AmSJiq3P8COB993msBxagXaMkYCrw+gl8DQyUUgH9hybUd4AcoBr4Gmh6nGNHAevrbGcCE+pszwJerbN9F/Cl+3VLQAEd6+z/P2C6+3Ua8IH79f3A+/VsLwCuO45f/YFCwObe/hH4h/u1oAmjTZ3jzwN2u18PAsqBoDr7DwB93a/fAd6ss+8ytJvFsfyYAsyosx0OVAEX1T/HY3w22v39RAFWwAF0qLP/v8DyOtsKGPwn1/Yw0L2O7UV19o0AjgBW93aEu8xovX+T3vwL9BoapdRmpdT1SqnmQBe0muU5AHfzeYaI5IpIMfABEFeviP11XpcfY7tRveOz67ze47ZXnxRgtLu5XSgihWiibXacc1gOHAJGuZvDvdFqKNBaCnZgbZ2y5rvfryFfHf2sXVbP730n2FeXxLrnp5QqBfKPdaCIWEXkCRHZ6f5uM9274ty+BXH0d5XNHznqPRH5p4hsdjfhC9FuDnWvV/1rc0gp5ayzzQnOLSAIeEHXRSm1Ba1G6uJ+6zG0u3ZXpVQkcA1ajXcmtKjzOhnYe4xjstFq6Og6f+FKqSdOUO57aM3ua4AFSqmaH+8htB/rWXXKilJKeeOHm0ed8xMRO1qz+1iMB0YCF6EJr2XNx4CDaK2lus31ut9bDbVLAd3Py/9Ce9yIUUpFA0Wc+fUKKAJa0CLS0d0Z1Ny93QIYB6x0HxKB1iwrcj/XTvaA2UdExO7uAJoEfHKMYz4ARojIMHdNZnN3Xp3oefQ9NHHcjNbzDYBSygVMA/4nIvGgPaOLyDAPnEt9PgMuF20oMATtufR4v6EItNGEfLQWxGN1fHYCnwNp7u+qI0f3ERyvvGq0m0GQiEwBIs/kZAKRgBY0UILWqbJKRErRhPwrcJ97fzpwDtqdfi7aj+xM+R6tY+lb4Gml1ML6ByilstFqr4fQfqDZaDeT414PpVQmsALtufXrervvd9tc6W7eLgY6nOmJHMOHTcAdaM39PLRn2JzjHP4e2iNHLvAbv99Ea7gTrebeh9aR9TEnHk5cgPYosc1dbgXHbqY3aMTdYWByhohIS2A3EKwawNiwpxGRJ4EEpdSxertNTpJAr6FNDIr7caibaPRGG077Qm+//B1zBo6JXkSgNbMT0XqnnwG+0tWjAMBscpuYBBBmk9vEJIAwBW1iEkCYgjYxCSBMQZuYBBCmoE1MAghT0CYmAYQpaBOTAMIUtIlJAGEK2sQkgDAFbWISQJiCNjEJIExBm5gEEKagTUwCCFPQJiYBhCloE5MAwgxw4GFEy7zRSCmVIyLt0WJglwDt3FFHAxZ30PtEtHDENf8/V0rluPdfC4xBi+ZZjRab+whafLIspdTrdcoKMkM5nTqmoE8Rd3aLDgpWxcB97WDbbNiQCOsLYMgYGLIFzkbk/a5w8wj4fgzsvACeQOTm/jA8D+J3wpOxcIcVXjuoBb3roZT6Se/zO1VEJAF4EjgXLanB0a2+s7BKuqwFgkhkGHsZfsyCLORJusxFC/5XBmwRkXxgLfCz+/8vSqkKb51LIGBGLDkB7h9rlILtdpj3LDxdDq2+huFLYN50SG4HJQPhcDaEtjiJJHhFYC2EoBSofBQ6XQmZ28A1GYZvhwdbw8gy2LpPqY/dNfx2ZYCLJCJWtAiqVwBhpPEPIIZMWvAO69DiY7sIoZBQCgmlCBtF9GIZ3d2RQTeTwF7iAXBhwYmVCsIoJQoLTsYxH4BqhP/yMlqGjbpUAxuANKXUXB+ctt9hCroeIhJig3sOw6ejYGIoJHwFa2dAi2FwIEb7UXmNORAfCY5ucLAVPLAUrrwEQvdp0URXedN2fUQkHC2v1xVoyfG0bBxBFPIQk7G4a+O59Caeg3Qmh3AcHjFeRCibaUE2yeSTQhEplJMACB25nbHMAg6SRl+0cMBLlFL+lFXUK5iCdhMkckMXCP8Zto6AO96FhfF46Md5hqRDp+1Q9gG8FwJ3OiBdKXXImzZFZCwwHS1IvkYoh2hKBu3JoB9bfd6lWkQo62hHH7Zgpxoo5SluopRBaLm/3gZeU0pt87FnhqFBC1pEQm3w5W/wxDrobYeQS7XA94bECdwJvZ+DL0ZA8o9QXKrUh3/6wZNAREKBJKXULkmXxnzPxSxhBhHsIpEMupJBZ/IMNy4yg2Fk0Zuyo9LqLAJeAeY0tI61BinoKJGrWkPP9fDz/6DPLbDLDi69/ToVZkKzfJCrYUECXO+Av59Oh5GIRAD/AO7CSg6P8DA1Oad2EUvrYyejMxzrSOZnLiCP3ihC3O9OVko9ratfPqZBCTpU5PHP4dtQ6FEGtiu0ISW/5hAEPQI9XoW3m0LCAS0V7OY/+5y7Rr4F+Dc1z8bhZDOJZ4mjzLtee5FD2FnCeeyiP2OZQgrfqlSVKSKtgT11slEGJAEvaBFp1AgGlMCBu+CGW2HHWVo+5YDjVujdFH4MgrlTIEIptbP+Me7e6vFoieZaAhDBTvryJeexzXBN6tPFxe8DaOUU8hRP46IYLZ/YbCOMHHiDgBW0iFhjwP4EdH8dpq6GGfXHQAKV56HVS3DWdhgjUOnOUAmAiMSg5eCKIoy9nMsXDGZjwAj5WGwmgS+4m6ra1LfLgZsDcaJPwAo6WeSRdtD5W1iity96kQOqHdxbAf2AYtIIBvrxJddjxcmlrCSIwPwB1KecIOYykC1cRnVtqttHgGcDqRkecIK2ityZDofvgkg7uIJpID/Y4/AIdHkBRlbYWFs1icU09e44uuHJJ4zPuJo8+rnf+VopNVJXnzxIwDS0RCQBkei7IKEvJEeBsyGLuQisF8GVj8KdxZCMg8H992Gl4g+zrxoWsZRzC+9yAS8STCEd+EnSJXB0EAg1tIhY7bDuG3hvoLYQokGTAY1GwK3Z0A5QXeJZ9MD5fB1lw3HnYq7c14Lsyiv4WW8/daeEECKoQpt78K171tkKpdQRnT07bfxa0CJitcEt+7S51q0bco1cw4eQdBvcUQKxoVaKruvO6yM6UNvbfaiMUFcIFVOcROfG4SLRvAECsIKWLGQysBm4QimVqbNHp4VfNzU2Q3wfuKgAOpli1maS/QvGl0BsjI3d/x3Mo3XFDBBnpzI+CGm9lu5NV9BWJ1eNR2PKsZEPdAXWiMgFert0OvhlDS0i4XaYuxk+SdZ+xyZAZSjOF7sROX03Ix4ZyGeRoSfuAHOB+tdmOm4NJ4yL2eArPw1LPmF8wM0c5iy0RTh3KKXe0NutU8HvBC0i4QqavAk33IR7WV4Dxgk8DD0ebMTq1RchlWEEn8rnl+ymeYYVx7eD2YcV8ZKb/kM1wgf8hUyGut95QCn1pK4+nQJ+JWgRsYXCxl/hxbYnsfY40HGA9Ifxq2Hg2U2ZPXUwc063rH8t58JtsVQ4R+F3QRa8wpcMYAMT0DpZOyml9urt0sngNxFLRKSFgvBseKEFVOntj944gRoxWwRHpybsPpPybuzIuvwwjjxVjlSHmf0RjGIZwVQRxR76U6y3OyeLX9TQoi0JWj0TvhgGXl0H7A84gUFw9XIYYhEc13TjpdGd8cg0xr8tYEJeFzYwmE2eKC9AOALMIY14pdQOvZ05EYYXtIi03gExydDT7MnWuBwumwsjBarHdeGVcV09J76sIsIzEzj0VCyRHos+EgjMoSs/cyvwN6XU23q7czwMP2zVBB5+HyaaYtZ4ELrPhZGAurIT0zwpZoDkKEr7lWK3vch9ZBLjybL9GgcxaI+or4tIvz87XC8MW0OLSMh4aP0e9LVSu2C9wbPQQvRoK3d0jufnhweywFt29h/BtqAlBTMbEUGoOTQIwHTGkM1gYD/QSymVrbdL9TGsoCNELm0F922ET/X2xSgoUD8OpWJPOJERoTgsXh5kWp5Fs+cyGFN5L88Zvy3nAxxYeJm/U0hHYB0wQCllqGAQhrxMItK0BJxrYabevhiBErDeDn1+7U5ZYSxhUTbvixmgfzJ5jw7gjYQqHDjNMWqCcTGeNwjlIHAO8JaIGOp7MZygRSTSDj/sg/bmc7PGVXD5q3DDmFwm+dp2h2jK4j/kYmYx2Ne2DUk8pYzgZSxUoIU27qy3S3Ux1Di0iFgVRFfAszZTzABMh+TFcAmg+rVgvR4+3NKVNcvjOfyx2Zeh0YU8CnmFJuyiA4YKGWyoGtoOD/0VHjfFrHEYgu6H6xVYOjfhu1Ed2a6HH8lRlA48RGToy0xs8Oupa+jPVjrgAM7X25W6GKqG3go/l+M/s3K8zRgYng9J4cEceOB8vtTTl8RGVAxryuoFQTgqDVYR6IqTDhIjfSnkgFLqLb3dMcSFERFblMjXDmjXDsr19scIvAkpNU3t8V15NyZM3+muFoGbu7Kl11zasp5kPX0xFCvoQCGPA8+LSEudvTGGoNdA9d/h11Za5kET4CkYXtPUvqIDhplu2LSCyKRi/0pK4FUGsIUmrAUaAS/p7Y7u49Ai0vxKGP15gMbKPl12NsZ5cySDJ/XgJ71r5/rsFhx3K5rRwZxXD8BeIniTR3ERClyglPpBL1d0r6HPghZ2OFtvP4xGdl8c957H90YTM8C27bRttOA4eZ4bIomU0JqF7q0n9Byb1rWGFpHGhXBOFLTWzQmD8SK07tyMzPJBxm7WlliontgKS3WQ/pWCISgklJd41B3ze5RS6is93ND1YsTAQ3fDdXr6YCSyIfR+uO2SfTy7OtedGN2gVJditz7Dgxwxx6YBiKaSjsxzb+n2m9Z12OoAzK2G9nr6YCTugMHlEBkTyu6eicZOpBcTRtXdvZn2gp0KcxjLzXB+IIxS+vCIXi7odiFCRV6YAReYk0g0isD6LVwIcHl7vvTFXO0zZWAiBU0/5HxKzFoagDCqGc4q4uiklwu6CXoSrL0AP8k97APStBS3UREh7P2rh6KP+IL4KmwUEqa3HwajlXSQZBFJ8bVhXQRtE+n1IAS1MAP91TILBgGcm8hSf6ida0jtz5KuwRw2dheej5lPL7axA3jM16Z1EXQU3LMKmuth24h8Cs2yob1VqLymK6v09udU2fUuD7CNpnr7YRg6sButf2q0iPi0c1MXQe+HT6+GPD1sG5ESCI4PYnPbxqxs2sj/Zsu9cilPN2qHX4S59QmtKCCWjUAwcKMvTft8HNou8sV02DgOcn1q2OAsvoKqolBsoUH+2Xi9cTlDD4zgR+LNGX8AfE9nlvB3IBNorXwkNJ/X0E/Dx5doMZlM3BTEUVkRToi/ihmgo41DOM3hq1r6s5lgioCWQHdfmfXpBRCRs9pCkxgaeNLxOkyGs/8TTusqPw/xM7kn61pZzaWvtVhRNGGje2uEr8z6VNCxcNFC6OJLm0bGAfIKjHtuD1OW7fHvTsK8EsKy3+Bxqv37xuRR2rARbZ5FC1+Z9OlMsUOwCHO9cy3vQHIZRNmCOHxhKwwXEvZUaBZB+eNXM3ly0Kklywto+vEbnbiXRN8tq/RZDS0iQ/rAg76y5w/Mcj9bpUSR4U9jz8ejKIdmljn01NsPwxBGNYmUAc18ZdJngm4KG+7Gf2ZA+YIN7sePc5vVPmv5NUGCxJSbTe4/4KS5iMT6wpTPBD0AOl9lJpqr5TAEHdQm16iL2xgnIsmZcG4iB68ayPd6+2EosoniMeaDb27aPhG0iMgCeLUA8/mqhlmQ5AJroxD2x9kDZwrs7I+5lSWcpbcfhiGRYhQhQKKIeL3p7RNBK6VUMTyYaOZ1riUXGoUJBXF29ujtiye5/zxmhZzPr3r7YRisKCJqr/G53jbnqxr64n9gZl6oSypsWjKQvz8xhHf19sWT2K24Gi+jpd5+GIpostyvAkPQUVDYyqyd/0B5ONbwkMDK7HiwjLDybfTW2w9D0TTAaugs2Hk37PSFLX/ACZSBpSIs8LJQdGtKweirAqvVcca0qRV0D2+b8omgY2HDKojyhS1/YDVEhcMrY2YzVW9fvMH8WYxjMwl6+2EYUmoDeSSJiFdv4j4R9K/wl3PMFDe1/Kbd3ETEfxdjnIhzmrOeOPN612LDSR+mEcwl3jbldUGLSKPHYKCZGvZ3dkE0QJi2GifgGNGWTMLMBThHcSk/8zBrlVJe7TPxRQ0dswEG+MCO35DrfvxoFEKh3r54g1d/4ArmcoHefhiQSG8b8PriDKVUNiIf466V9OAHiLkWJh1xf6EXww8z4Du9/Nnv/i4iQrxfQ98zn+uyi+kaaqXko6tI97Y9gPRBzLmpFdX79QwTnUkMXzCJKreIWvMDo/W75iyjI+voJWnygVLKa7PpfNHkvmwcDPO2nRMRCq40+Cwf0tbB4wvgwpk+nDBfn3x3DR1l876gB7VkxW09ecHbduqy6SDRlYvp5kubfyAIF4P4jPtJ4xYeZycXskm/a85uOnKYm8C7LRdfNLm3DIVdPrBzXPpA0SS0wf0UqIyHvG06thiq0OJYhwV5P37YqI5sj7P7NixQUQU2VxE+WYxwXJpTxNnuCR3RVBJOHvn6XXOCa6+13ZtmfNEkyrkS9oExxlwXQ+xeaDEeduvlwzj4sUkTNp/TjEy9fPAm/Vqwb955ZGaATW9fANhFLCW0oKt+1xxL7YiGVzXnixr6rr/CKB/Y+VOyIXQC3HorfKpnLur7Yet/uvBt3+aBGVttaSZJ298zSM6yIkKZxa305FNidIyoaqmdEejVBUq+6BR7BpHDvrB1IkrAegHcOhBWPQXr9fQl0OkUR35cFN9l/fmh3qUSK29zKymsYqjO1/z3QVuvzj3wRadYl+ehlbftnAgnMAAmJkHeTFispy8Az0C7tE0MMnqGydPFFoQzuInOQ3Iu4G0mEkkeV+t/zVG1j5xeHZ/3Ra2ZsAViQb+YWS9B2wzoGwe58WiZAW+DL9LRZ5nf+9A/4wB9JYJ3eid5N8vknfO4ad8R2lc5aTR6Jk8OSObru/vwozdtLs0kJTuLAdzF2960c0JW05Z99MVOLv/nzgbZiy+4UKelncFUYmUfTgq8acY3gfZFJgDh3jfkH5wH41bCoIEpzJjcjyV6++MN7k2mcnsYoXr7YTB+VqlqnTcN+KLJ3aMnjPe2HX8iFm38uahCx2EULzJ7K21yV5tRS46B15cQ+6KXO/NqmOsDO35DU7egS6oCcwVahRNrGWbO6KPQEil4fcGKLwRdlAQ5PrDjN7RA6zAqDVBBD+7KJi7gN739MBTP8AhprBGRdt4045PlkzfAyyUGmVhiBFq7a+hyR2AK+sG53MAafUc2DEclMUA8cNibZrwuaKWUqoR+EQRWqJ0zoatb0NUqMJulA/vyGe3N9LK1lBKMEzvggNpgB17BJzV0Cxj4MST5wpY/0A1KDsIdn4/gAV/YqwiKtu2P7tPGF7aqnMieUiKJCpzQxGfMDpq6X2V5O62sTwS9D6qqMDMq1GAF4qDaVu6bIAA7mk+YlBM/9B6XBHn9eu8pJCIjgyu9bcev2EOy+5VXh6zAR4J2KDXzOjMNzh8IL8FVWe3da1Bsb9m4MqRxJ1EuR26Ti87xpi2AdrEUt7yF571tx684QIr71c/eNuWruNzNG0OaL2z5C09B+0E/8uw/FnCTN+3kNBk2MsRRvCvEUbi9IKLLMOXlhtIzK+m/ZSOdvGrE3yisFfRab5vyVW6rvc/B7T6y5Re0gCOliiaHyrwXlD4/slvzypDYTiGOwqxQx+EsJdaQ/THndfCWPYDwxmSpWEq8acPv6MdnBPEggSJopZTrfahcCo19Yc8fuAL2BUFVeTWxWUXemxbbtGDFu8oSFBrkqihtUrhmVrXVHuYtW9UuJLwH22nHQW/Z8Ev6sUI51BNKKa8vWPFZ9snFcM4iU9C12MHVDC0A+6KdeKXWjC3emJOYv3STS4LtVmdFedKh7zY2P7R4gzdsAazOpemsj81Hq2Pgs4lVPlujrJR6HpELAa/OlPEnesLGbGiXsZ/ueLEH1GUJsVtd5WXeKr+GnsnsVf150tt2/IrpjOEwyZImO5VSXp1UAj6soQFi4d7vzFq6lomQAZBTTFdv9nZXW8Pi7BX7vZ6be8pyBrsqzZTBtRzCTjaDOOKb+QbgY0FHwONdMDtMahgF+6PhgMNF+Dc78MrED6cl1Oq0hMZFlO3y6nNtlRMpUAQTbiYlrGU1XdA09oMvamfwcVigPbB6BvS7W5sCZwLcBjOLkigc1IZcb5RfbG/dxOqqLAhyVXh1EotSCNcyjyCzhq4lszaU8de+MunTGhqwpcGYCnPWWC2PwcYnStgRFuydue6ltqSEIGfpPm+UXZdb5/O3vDV08bYdv6GcIPJrv4/ZvjLrU0ErpY4UwBCblwOl+RsRxYREFFJR5fT8ja4iJC4huLrE64LuOo4XOZcd3rbjNyzhbJyEARlKKZ+lUvZ1DY1AoxS41lx69TuzIGHCIu67dwE3errsquCoZqFVBXmeLrcur6zlnGWHScJmrqirZQuD3K9e9aVZnwsa2NcentXBrmGJh4q91XTJKuKc7fmeTWjmCGqUYK/c59UaOltQ1boGaTYYLqALnwOfAx/60rTPBa2Uci2G+f+BRF/bNioDoLADZCiwfvwr/T1VrkJwWu0JEWW7vSbovBLCKq5gJR28G73Ur7AAQ/lAKXWVUuqIr03rge1l6GW2z37nWlgK8MsBBnpqTLrUlhSFcjnCqg55bVJJ6jLG7fiZs71Vvp/iALbqYVgXQSulCg/CKKc5fFXLZNgaA/srqol5ewM9PVHmEXtKQpCzzKvN7W7X8jLns9mbNvyKmQzmGSaQpk/UU71qaASCG8O/95nRIQEIBjUKFgIsyeSK0qozj8FWHtq0mTd7uO9dzF8WFJFEED4I7u4HFBDGFi6nhCFAgh4u6CZopVTZUBiWoGPSOKPxEqyIgX2V1UQty6LFmZZXGRzTLKS6yCuCdimobM5vJHk/x7XfMIdhOAkHvgfm6+GCboIG+FypHb2h21JzfjegrcB6BqbPieafl7Q9s1SzCqEiJK5z1JEd2zzkXi0uBdM20SFrOFvMoSo3OUSRyRD31gPejh12PHQVNMBv8BNQrrcfRmESZF1ymMrG+8/sOyls1DFBiSU4tniDx5NAZhXR6Ns8eiPmjL9a5jMcFyHAl0qplXq5obugjyj18X5Y8wPE6O2LkWi3ipDnV3L+zsNEnM7n8yO79wirPJAhHn68razGUhBDYfmdvI/VfHYGYAtNyaE/2gj0w3q6orugAcZBt/9Ba739MBKXlzJx8W4mPrOCcafz+bKwxO5RR7ZneNqv9zbS49ElXOPpcv2anaSgifktpZSuGUMMIWiXUq99AQ/vxsxWWMPj8E0wVGYXc+60dZx7Kp8ttSVGVlvsCfGFqzw+Fhp7IcuqxvO5p8v1a4YzGzgX+JferhhC0AACFV3gPnMYS2MwFIyDmQDztzP+VJreB6N7dQt15P9mdVV6rMPKpWDSHG59u5gUIsw1z3VwAcuUUr/4as3ziTCMoJVSRy6FsxIg3+w21XgLlrWELVUuGj2zgvGuk3xiPRKW3COybPd6T/pSbcFVfSGf0xavRz7xC6oRXuQ2PqAJad7NV3UqGEbQAJ8pVdoU2l0P5+vtixGwAtPhXXfT+5w31tL7zz5TFRQZWhUc3S7+8KpNnvJjWRbNbl/JhYXncMBYvxgdmcXF5NODHdwF3ovaeqoY7vIcgOnXmKuxahkMBePdTe+MffT4s+MPxPTpHOwo3hXqOOyxocD8GPL3N6fAU+X5PcvoyObadD9/8/UCjBNhuEVvSqlcEdmfAM/PgdnnmjHImA7LoqD8tiYs2wEnjKtdbG/do1FFtkd6t6ucyH+WM3TbX/mWxvziiTL9nm00YSl/Q6sMH1NKzdHbpboYroYGUEpVH4QHu+u0YsVoWIHn4eeOuwhLzKSstArrseZ6VwZF2ypC4rrEFa71iKArXLAznPKycHO8GYDD2PiCO9zTO2cDj+jtUn0MKWiAaqV+6gg5feAvevtiKH4i/s7Z/P2RJYyr30mW3fSyIbaqQ79GlO85406atzbQPa2CqJIJ/ECoOb0TgI+5lnKaAZuAa5RShgulZVhBA+yELQ5nte/wAAAPEUlEQVR4BXyTdtUfWA+ND1fRensBA55YztCa9yuCG4cV21sNTjy0ZK4n7KwWrNtt2D1RVsBwDu+iJUQYqZQq1tudY2FoQSulKtYp9XUPaHS92fMNwI2QdTu8C/BTDlc9vUKLXZXd9NKLwqoObowu3XZGkUMW7yL5n7/RMfdq1tGFvR5wOVDIpy9vAj19GfTvVDG0oGvIgK/CYJrTrKkBeAHWTIQPAL7fw7iXN0YOKQlrdWHiwW/PuHbeGErZ1ghzxh6gTRn5gMuZQQ9gtkpVFXqtojpZxOD+HUWcyEs3gOv/4Fe9fTECY2HwJzBmyJAhdEqJ3zms/OP/O92ylmXRbGYmXXffrAVZaPC4gPe5kt1cAjiBjkopw4cp9osauoZ8eOocePYgZq8rwAz47pqoqC979uzJj98tzD/ZmWT1cSnISSJvd1vfZUk0NNUIbzOmjpgn+IOYwc8ErZTaM1apzBS4/L/QSm9/jMBFo0bZ7Tk5Gd/n5E+LPnzq0V+W7qHZ+Pnc9FFn4EJ0XSlkCAoI4xXuIJvBaDHv/qqU+kRvt04WvxJ0DeVwzZ3w5KsQv5WG2xO7t1mziOwWLfpfv2zZRxHVWPovJLR4C5Y753HT1kNEneizLgUbDhL1Q292lw7DUJMjdGM7TZjG/RTQFSgAhimlvtTbrVPBLwWtlCqJVqrwnxD63p/MnApk5l5++cjEvXtXJmdlFQJYFPLUeibuKaLXv7/joQU7SDneZ7/YSYup6xi9JhobnfB6qhy/IJRKKglC66PppZRaordLp4pfdYodExHpC49eBcGTYbve7viKeZdd1vuXrl1H3DRt2mOxBQW187bXQ8QVcEsOtLMIjsGtmHFXb5Zb3MGCftlP4+/yaLbuKjIKhOAGH3WkGqEaCzYOA9+RRhMgSynll1OO/bKGPgql1CqYvQ1m7ILq7AYQJGFj165J688+e8xlc+e+VlfMAGdDya/wv16wzKUIXryLa2+Zw92/HiC6pArLMiuOby3EFQQR1ODFvJkEnudfvM0A4HOVqg4opTb5q5ghEGroOthFbugIF68Dv2sqnSz5jRuHvXnzzQ91/eWX2ZfNm7f6eMc5gXug9zQYVwl2i1Blb8G8IzfwjQ/dNSbVCLO4mC2MRBEEZAGdlVKlert2pgSUoAFExDoFBv8A9yyBr/T2x5M4LRZ59fbbbwsrKyu48a23ZpzMZ8bBoMXQ5nAIvzjvZRG2E3eWBTy/kcA3XEdJbQy7t4F7lVKFerrlKQy3fPJMUUo5RWRNErwBHHkBht4Gu4IDYOx65tVXD6sKCYm4adq01//s2KXQeBDsWAkrDkE6VezEhgvoxnxuJo92DOcb4vH7Wumk0MaWJ5DL+WiPmrloa5nn6eyZRwk4QYOWOwv4SkRCw+Bfl8D6MGiSCJVnnF9GJ34YMKDTrtatB1/7/vuP2SqPHyvMAXIYqobDxHjou7veIgIR2YgwDEUbXqc/bVjACL4N+DhhQTgpwol2Y38dLRh+QNTKdQm4JvfxiBd5/wo49Cb+l1gtMyWl8UcTJjw4aOnSaf1WrDhuJoxUSHkNuuyHvwi4jjfvWETOBR4D92qtYIroyDyGsiJghH0IO4sYSGu20Yf5wDrSiAOClVIBu86+wQhaRII6gbSHUbvhlgz4VG+fToZdrVrFfjZ69F0tMzN/vPrTTxcd65ghcFEsfLEDvlwPdqVU/smULSKDgSeAXgBYKWcEz9CDbI+dgK9ZTzJruIB99MZFCBZW4qKf0RdVeIoGI+gaRCQ0GFpWwZEW8NFL8M1IjBkva03Pnq0WDR16W/utW+f/ddas7+ru+xGib4eLM+C2IIhxQqZS6uCp2hARQQsicS/QmvsYTQTtgSDWkcxZ5Bo+wEEZQXxHT7YwiCNHTQleBDyllDrmjTAQaXCCrouIdPsEtr0ONzjhvKWwrAwsdm2tja7MHzbs3LU9e44/b8WKdwYvWfKLEy0U0TXQ0wlbnoSPU+AcYJ6nah8RiVNKHZJ0CWETXfiMn7DgII5faclG+rCJxgbJQ+bi91kUn9OPjVzn3ipE67l+TSnl8UR9RqdBC7oGEYkCEhXkNoI1H8GrnUBlQ9hgH9feLhE+GTv20syWLQf2+frraW02bcrdA47hcE8eDIiAZKBAKbXbm36ISA+0Ndd1E5c7iWYbzdnIRfxINJXe9OEoygniN5LYTgdy6U5jdjGJF4CtPEsVxXwGvAbMUEqV+cwvg2EKuh4i0ggobQOXlcHYvfDGlTDxBsi8BA4dhqB4bRWOR3GAVIaGWt+45pobC8LDkyfNmfPPIbt2jQyFWdvgIyBRKZXrabt/hoi0A0YAVwADqKkXb+UGErACFr6kP4KiJXtI4aDHhP4dXdlBD4pIppQkOCow4malVGeP2AkgTEGfBCIytjOs7A/NP4C3SuGee2BIE3A9DNunQudbYXsYuKpBYo4RWaUCxAXiAHkN2t4PW5+HtjvB8gIsaBoe/vwtt9/uUBbL/udefnlOSUnJCyIiRurMEZFY4FKgt1LqbkkXKxDDVDbgIqn2QAuVhFBECEW040dG8BOgZWlcx7kILlxYUVioIoxyoqkgiiqiGMj7nM9GoIxX+Qv7GesuVQFbgNXAHGChUeN66Ykp6FNERCxKKZeI9AfKFPxig/f/B//+HHr+DLcehntbQlopxIZAUS78Ow6e6QUzHoZll8AzR+DaWGhdAJFpaWkVSqm3ReQL4IHU1FTdn+FPFhGxAPehJWs7G2hB3RVwjXmKu3kPCOYjLmYbT564QK5XLvWuu+w+QF9gLbDBSAHtjYrhBO3+gYTi+4UjCm0KdJUnakURCUI7B6WUOmYTPT09vS3wJNqw0eTU1FS/WUh/PNy95pFAItAMrfd9l3tfV2As2vdSjfbocgTIc//tBbKVUsboePNDDCNoEbHExcXFJSQkRCYkJFhsNptPHXM6nRQXF3PgwIHqnJycg2VlZV6rDdLT0xujBWm/Fi3tz/9SU1PNH7HJGWOIqZ8iYmnevHli7969bZ06dSoLDg7WzZfi4mLLqlWrksLCwvaWl5d7dBldenp6KHAH8CAwCzgrNTV1vydtmDRsDCFoIOyss86yd+vWTfdnpMjISNf5559/JD8/v6mIlHoiO0J6eroAV6E1r7cAF6Smpprxu0w8jiEEnZSUFJmYmOjxoaDTxW63q+bNm1u2bNkSCqc/kSI9PT0KGAXcgpZy9JbU1NTFHnLTxOQPGELQdrvd1qRJE0MtCoiKilKcxveTnp4eDlyO1vkzGC3YwnPArNTUVGNPoTTxewwhaBGxBAcHG6N3zo3ValU2m01O5tj09HQbcAmaiC8BVgIzgEmpqakBt0TPxLgYQtAnIi0tLdtisWwGgoKCgraPHj367+3atavYtWuX7aOPPvrw7rvvHh0ZGekCePbZZ28qLi5+aOTIkd3PPvvsEoDp06efl52d/bbFYskCLBaL5dDAgQPvGDhwYP5rr712UUlJSY/Jkyc/fap+uUV8ATAOuCI3N1c2bNgQ0rVr1/bTp0/3+Ywuf0NEMoGmaEOFDmAFcKtSyn9XehkAfwgSWDFlypShU6ZMGQw4Zs+ePRHgq6++Gmu32+fViBmgtLR0lNVqzVi2bNlldQsIDg5e5S7jopCQkIxVq1ZdD3DjjTcurqiouHj79u22EzmQnp4u6enpbdLT0yekp6e/kJ6evhrIB1KB9YsXL75k2rRpkWvWrKl86623+nn4/AOZEUqpRmjj1fuBF3X2x+/xB0HXYrfbV1VVVbUEOHLkyJUdOnRYULPv66+/TlFKhSclJT1ZXFw86lifdzgcuFyucKvVWgQQHBxMSEjITwsXLrz4T0yvBr4HrkQLKHcv0CQ1NbVfamrq88uXL69pZr8Dtat+TE4SpVQF8Blgzs0+Qwzf5K6hoKDAWlpaOjg8PHxJXl5esMvlShk+fHhtLqZt27aNtNvtX40dO3bVU0891Wbp0qVxgwYNOgTgcDj6TJ06daFSKkZEyi+99NInaj5nt9szSkpK+gCzT2C+f2pq6okWHExEmyCyClgpIk2VUub48kkiInZgDNpN0eQM8Ica2jZ16tSFL7300jdWqzV3zJgxH2/atKmxiBw1Mb+srGxU27Ztv7Lb7cpms81dv379iJp9NU3u1NTUXuHh4TO++eabf9cWbrMdcjqdTU/kwInE7J7TnQJ8qpRaC+wExp/uyTYwvhSRQqAIuBh4Smd//B5/qKErpkyZMrTuGzk5ORVKqdqA+p988klHl8vVKiMjY0ZGRgZAcFVVVRbaQvejSElJWfjbb7+9WbPtdDptInLKSd7qcB3ayp9D7u2P3O/97wzKbCiMUkotFhErMBL4XkQ6K6XM1DyniT8I+g/06tWraN68eZY9e/aEpqSkVO7Zs2dURETEM/fdd99LNcekp6evnDdvXlL9z+bm5va2Wq2ZNdtlZWWtQ0NDt5yOHyISBlwNWEWk5kcYCkSLSHelVMbplNvQUEo5gc9F5HWgP9rztMlp4A9N7mMSEhLyw6JFi3oDlJeXj2zZsuVRGSFsNts3mzdvHgm/P0NPnTp1UUlJyV87d+48tea48vLyfs2bN//2NN0YhTbs0hno4f7rBCxDe642OQlEYyQQgx9GZTUShq+h09LS2h3r/eTk5LezsrL+BixLTU09r/7++++/P73OZsdjlbF06dI4pZRtzJgxp1VDozWt31ZKZdV9U0ReAl4QkfuVUn8IdmBSy2wRqYmVvQe4Tim1SWef/BpD1NBKKZfD4TipWVk1TJgw4dfw8PAVxcXFp30O2dnZSW3atJl6rH1Op/NP/VFKXaKUuu8Y73+qlEowxXx8lFItlVJhSqlGSqkIpVQXpdSHevvl7xhiPXRycnLSZZddFtSsWTPDLND46aefGi1YsCCnIQecM/E/DFFDHzx4sDg3NzdEbz9qcDgc5ObmuoAz6f02MfE5hhB0RUVF2ebNm6t37dp1wimYvsDhcLBq1apGeXl5BZ5YC21i4ksM0SnmzhiZ7XA4Erdt2xaekJCAzWbzqZhcLpeUlJRIbm4uOTk5+QUFBYd9ad/ExBMY4hm6LiISAoRGRkb6NFFkVVWVq6KiwglUuMdFTUz8DsMJ2sTE5PQxxDO0iYmJZzAFbWISQJiCNjEJIP4fIgvGpLLiv+QAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115e3f5c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "import numpy as np\n",
    "import sympy\n",
    "\n",
    "\n",
    "from matplotlib_venn import venn3, venn3_circles\n",
    "plt.figure(figsize=(4,4))\n",
    "v = venn2(subsets=(2,2,1), set_labels = ('A', 'B'))\n",
    "\n",
    "c = venn2_circles(subsets=(2, 2, 1), linestyle='dashed')\n",
    "c[0].set_lw(1.0)\n",
    "c[0].set_ls('dotted')\n",
    "plt.title(\"Sample Venn diagram\")\n",
    "plt.annotate('P(AB)', xy=v.get_label_by_id('11').get_position() - np.array([0, 0.05]), xytext=(-70,-70),\n",
    "             ha='center', textcoords='offset points', bbox=dict(boxstyle='round,pad=0.5', fc='gray', alpha=0.1),\n",
    "             arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0.5',color='gray'))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$P(B|A) = \\frac{P(AB)}{P(A)}$<br>\n",
    "$P(A|B) = \\frac{P(AB)}{P(B)}$<br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "例題：一個家庭中有兩個小孩，已知至少一個是女孩，問兩個都是女孩的概率是多少？（假設生男生女是等可能的）<br>\n",
    "**解**：由題意可得：樣本空間為\n",
    "    \n",
    "    S = {(兄,弟), (兄,妹),(姐,弟),(姐,妹)}<br>\n",
    "    B = {(兄,妹), (姐,弟),(姐,妹)}<br>\n",
    "    A = {(姐,妹)}<br>\n",
    "    \n",
    "由於，事件 $B$ 已經發生了，所以這時試驗的所有可能只有三種，而事件 $A$ 包含的基本事件只占其中的一種，所以有：$P(A|B) = \\frac{1}{3}$<br>\n",
    "即，在已知至少一個是女孩的請卡滾下，兩個都是女孩的概率為$\\frac{1}{3}$。在這個例子中，如果不知道事件 $B$ 發生，則事件 $A$ 發生的概率為 $P(A) = \\frac{1}{4}$ 這裡的 $P(A) \\neq P(A|B)$，其中的原因在於事件 $B$ 的發生改變了樣本空間，使它由原來的 $S$ 縮減為新的樣本空間 $S_B = B$ "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 全概率公式和 Bayes 公式\n",
    "\n",
    "了解完了條件概率，那我了解一下什麼是**聯合概率（Joint Probability）**和**邊緣概率（Marginal Probability）**<br>\n",
    "**聯合概率**表示兩者同時發生的概率，表示為$P(A\\cap B)$或者$P(A,B)$或者$P(AB)$<br>\n",
    "**邊緣概率**表示某單一事件發生的概率。边缘概率是這樣得到的：在聯合概率中，把最終結果中不需要的那些事件合并成其事件的全概率而消失（對离散隨机變量用求和得全概率，對連續隨机變量用積分得全概率）。這稱為邊緣化（marginalization）。A的边缘概率表示为$P(A)$，B的边缘概率表示为$P(B)$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 全概率公式（Law of Total Probability）\n",
    "\n",
    "設$B_1,B_2,\\dots B_n$ 是樣本空間$\\Omega$中的兩兩不相容的一組事件，即，$B_i B_j = \\emptyset, \\ i \\neq j$，且 滿足$U^n_{i = 1} = B_i = \\Omega$，則稱$B_1,B_2,\\dots B_n$是樣本空間$\\Omega$的一個分割。\n",
    "<br>\n",
    "**全概率公式：**設$\\{B_1,B_2,\\dots B_n\\}$是樣本空間$\\Omega$的一個分割，且$P(B_i)>0(i = 1,\\dots,n)$，$A$為$\\Omega$中的一個事件，則:\n",
    "<br>\n",
    "<center>\n",
    "    $P(A) = \\displaystyle \\sum^n_{i=1}P(A|B_i)P(B_i)$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "#### Bayes 公式\n",
    "設$\\{B_1,B_2,\\dots B_n\\}$是樣本空間的一個分割，$A$為$\\Omega$中的一個事件，$P(B-i)>0,i =1,2,\\dots,n,P(A)>0$，則：\n",
    "<br>\n",
    "<center>\n",
    "    $P(B_i|A) = \\frac{P(A|B_i)P(B_i)}{\\sum^b_{i=1}P(A|B_j)P(B_j)}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "什麼時候我們會使用 Bayes 公式呢？ 由公式可得，分母就是事件$A$的概率，而份子和等式左邊的條件概率中的條件正好反過來，所以我們知道在因果關係互換時，必須使用 Bayes 公式。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 隨機變量（Random Variable）\n",
    "\n",
    "在幾乎所有教材裡，介紹概率論都是從事件和樣本空間說起的，但是後面的概率論都是圍繞著隨機變量展開的。可以說前面的事件和樣本空間都是引子，引出了隨機變量這個概率論的核心概念。後面的統計學是建立在概率論的理論基礎之上的，因此可以說理解隨機變量這個概念是學習和運用概率論與數理統計的關鍵。<br>\n",
    "**隨機變量**：<br>\n",
    "\n",
    "* 首先這是一個變量，變量與常數相對，也就是說其取值是不明確的，其實隨機變量的整個取值範圍就是前面說的樣本空間；\n",
    "* 其次這個量是隨機的，也就是說它的去職代有不確定性，讓然是在樣本空間這個範圍內的。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**定義：**\n",
    "> 設隨機試驗的樣本空間是 $S$ ，若對 $S$ 中的每一個樣本點 $e$ ，都有唯一的實數值 $X(e)$ 為隨機變量，間記為 $X$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "隨機變量的定義並不複雜，但是理解起來去不是這麼直觀。\n",
    "\n",
    "* 首先，隨即變量與之前定義的事件是有關係的，因為每個樣本點本身就是一個基本事件；\n",
    "* 在前面隨機試驗結果的表示中提到，無論是數量化的結果還是非數量化的結果，即不管試驗結果是否與數值有關，都可以引入變量，使試驗結果與數建立對應關係；\n",
    "* 隨機變量本質上是一種函數，其目的就是建立試驗結果（樣本中的點，同基本事件$e$）與實數之間的對應關係（例如將“正面”影射為$1$，“反面”影射為$0$）；\n",
    "* 自變量為基本事件$e$，定義域為樣本空間$S$，值域為某個實數集合，多個自變量可以對應同一個函數值，但不允許一個自變量對應多個函數值；\n",
    "* 隨機變量$X$取某個值或某些值就表示某種事件，且具有一定的概率；\n",
    "* 隨機變量中的隨機來源於隨機試驗結果的不確定性。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們可以通過引入隨機變量，我們簡化了隨機試驗結果（事件）的表示，從而可以更加方便的對隨機試驗進行研究。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**隨機變量的分類**:<br>\n",
    "* 離散隨機變量；\n",
    "* 連續隨機變量；\n",
    "* 每類隨機變量都有其獨特的概率密度函數和概率分佈函數。\n",
    "\n",
    "**隨機變量的數字特徵**：<br>\n",
    "* 期望（均值），眾數，分位數，中位數；\n",
    "* 方差；\n",
    "* 協方差；\n",
    "* 相關係數。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 隨機變量（Random Variable）\n",
    "\n",
    "*對隨機變量以及其取值規律的研究是概率的核心內容。在上一個小結中，總結了隨機變量的概念以及隨機變量與事件的聯繫。這個小結會更加深入的討論隨機變量。*\n",
    "\n",
    "#### 隨機變量與事件\n",
    "\n",
    "隨機變量的本質是一種函數（映射關係），在古典概率模型中，“事件和事件的概率”是核心概念；但是在現代概率論中，“隨機變量及其取值規律”是核心概念。\n",
    "<br>\n",
    "**隨機變量與事件的聯繫與區別**\n",
    "<br>\n",
    "小結 1 中對著練歌概念的聯繫進行了非常詳細的描述。隨機變量實際上只是事件的另一種表達方式，這種表達方式更加的形式化和符號化，也更佳便於理解以及進行邏輯運算。不同的事件，其實就是隨機變量不同取值的組合。在陈希孺先生的書中，有一個很好的例子來說明這兩者的區別：<br>\n",
    "> 對於隨機試驗，我們所關心的往往是與所研究的特定問題有關的某個或某些變量，而這些量就是隨機變量。當然，有事我們所關心的是某個或某些特定的隨機時間。例如，在特定一群人中，年收入在萬元以上的高收入者，以及年收入在$3000$元以下的低收入者，各自比率如何？者看上去是兩個孤立的事件。可是當我們引入一個隨機變量$X$： \n",
    "> \n",
    "> <br>\n",
    "> <center> $X = $ 隨機抽出一個人其年收入</center>\n",
    "> <br>\n",
    "> \n",
    ">則$X$是我們關心的隨機變量。上述兩個事件可以分表表示為$\\{X > 10000\\}$或$\\{X < 3000\\}$。這就看出：**隨機事件**這個概念實際上包容在**隨機變量**這個更廣的概念之中。也就是說，隨機事件是靜態的觀點來研究隨機現象，而隨機變量則是一種動態的觀點。「概率論能從計算一些孤立事件的概率發展成為一個更高的理論體系，其根本概念就是隨機變量\n",
    "\n",
    "*這段話，非常清楚的解釋了隨機變量與事件的區別：就跟變量和常量之間的區別那樣*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 隨機變量的分類（The Classification of the Random Variable）\n",
    "\n",
    "**隨機變量從其可能的取值的性質分為兩大類：離散型隨機變量（Discrete Random Variable）和連續性隨機變量（Continuous Random Variable）**<br>\n",
    "##### 離散型隨機變量（Discrete Random Variable）\n",
    "\n",
    "離散型隨機變量的取值在整個實數軸上是有間隔的，要麼只有有限個取值，要麼就是無限可數。<br>\n",
    "如下圖："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[  1.   2.   3.   4.   5.   6.   7.   8.   9.  10.  11.  12.  13.  14.  15.\n",
      "  16.  17.]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11681f588>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def poisson_pmf(mu=3):\n",
    "    \n",
    "    poisson_dis = stats.poisson(mu)\n",
    "    x = np.arange(poisson_dis.ppf(0.001), poisson_dis.ppf(0.999))\n",
    "    print(x)\n",
    "    \n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    ax.plot(x, poisson_dis.pmf(x), 'bo', ms=8, label='poisson pmf')\n",
    "    ax.vlines(x, 0, poisson_dis.pmf(x), colors='b', lw=5, alpha=0.5)\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title('PMF of poisson distribution(mu={}) - plot three'.format(mu))\n",
    "    plt.show()\n",
    " \n",
    "poisson_pmf(mu=8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[  4.   5.   6.   7.   8.   9.  10.  11.  12.  13.  14.  15.  16.  17.  18.]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x717c7450>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def binom_pmf(n=1, p=0.1):\n",
    "    binom_dis = stats.binom(n, p)\n",
    "    x = np.arange(binom_dis.ppf(0.0001), binom_dis.ppf(0.9999))\n",
    "    print(x)  \n",
    "    \n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    ax.plot(x, binom_dis.pmf(x), 'bo', label='binom pmf')\n",
    "    ax.vlines(x, 0, binom_dis.pmf(x), colors='b', lw=5, alpha=0.5)\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title('PMF of binomial distribution(n={}, p={}) - plot four'.format(n, p))\n",
    "    \n",
    "    plt.show()\n",
    "    \n",
    "\n",
    "binom_pmf(n=20, p=0.6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* Plot three 是 Poisson Distribution\n",
    "* Plot four 是 Binomal Distribution\n",
    "\n",
    "常見的**離散型隨機變量**包括以下這幾種：<br>\n",
    "\n",
    "* 0-1分佈（Bernoulli Distribution）\n",
    "* 二項分布（Binomial Distribution）\n",
    "* 幾何分佈（Geometric Distribution）\n",
    "* 泊松分佈（Poisson Distribution）\n",
    "* 超幾何分佈（Hyper-geometric Distribution）\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 連續型隨機變量（Continuous Random Variable）\n",
    "\n",
    "連續型隨機變量的取值要麼包括了整個實數集$(-\\infty, \\infty)$，要麼在一個區間內連續，總之，這一類的隨機變量的可能取值要比離散型隨機變量的取值多得多，個數是無窮不可數的。<br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**常見的連續型隨機變量包括以下幾種**：<br>\n",
    "\n",
    "* 均勻分布\n",
    "* 指數分佈\n",
    "* 正態分佈（$\\gamma$分佈， $\\beta$分佈，$\\chi^2$分佈等）\n",
    "\n",
    "##### 概率密度函數的性質\n",
    "\n",
    "所有的概率密度函數$f(x)$都滿足一下的兩條性質；所有滿足下面兩條性質的一元函數也都可以作為概率密度函數。<br>\n",
    "$f(x) \\geq 0$，以及$\\int_{-\\infty}^{+\\infty}f(x)dx = 1$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 隨機變量的基本性質\n",
    "\n",
    "隨機變量最主要的性質是其所有可能取到的這些值的取值規律，即取到的概率大小。如果我們把一個隨機變量的所有可能的取值的規律都研究透徹了，那麼這個隨機變量也就研究透徹了。隨機案變量的性質只要有兩類：一類是大而全的性質，這類性質可以詳細描述所有可能取值的概率，律如**累積分佈函數（Cumulative Distribution Funtion）**和**概率密度函數（Probability Density Function）**；另一類是找到該隨機變量的一些特徵或者代表值，例如隨機變量的方差或者期望等數字特徵。常見的隨機變量的性質如下表：\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "|    name    | 解釋 |\n",
    "| :---: | :---: |\n",
    "| CDF: Cumulative Distribution Function |  連續型和離散型隨機變量都有，一般以$F(X)$表示 |\n",
    "| PDF: Probability Density Function    |  連續型隨機變量在各點的取值規律，用$f(x)$表示 |\n",
    "| PDF: Probability Density Function    |  連續型隨機變量在各點的取值規律，用$f(x)$表示 |\n",
    "| PMF: Probability Mass Function    |  離散型型隨機變量在各特定取值上的概率 |\n",
    "| RVS: Random Variate Sample    |  從一個給定分佈取樣 |\n",
    "| PPF: Percentile Point Function  |  CDF 的反函數 |\n",
    "| IQR: Inter Quartile Range   |  $25%$分位數與$75%$ 分位數之差 |"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*PDF 只有**連續型隨機變量**才有， PMF 只有**離散型隨機變量**才有；一個分佈的 CDF 求導等於 PDF， 一個分佈的 PDF 積分後就是 CDF*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 一維離散型隨機變量及其 Python 實現\n",
    "\n",
    "上一小節，對隨機變量做了一個概述，這一節主要紀錄以為離散變量以及關於他們的一些性質。對於概率論與數理統計方面的計算以及可視化，主要的`pyhton`包有`scipy`，`numpy`和`matplotlib`等。<br>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`scipy` 是 `python` 中使用最為廣泛的科學計算工具包，在加上`numpy`和`matplotlib`，基本可以處理大多數的計算和作圖任務。下面是`wikipedia`對`scipy`的介紹：<br>\n",
    "\n",
    "> SciPy是一个开源的Python算法库和数学工具包。SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。与其功能相类似的软件还有MATLAB、GNU Octave和Scilab。SciPy目前在BSD许可证下发布。它的开发由Enthought资助。\n",
    "\n",
    "我們使用的是 `scipy`中的 `stats`模塊，這個模塊包歡樂概率論以及統計相關的函數。\n",
    "相關函數可以查詢：<a href=\"https://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\"> scipy stats</a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "####  伯努利分佈（Bernoulli Distribution）\n",
    "\n",
    "又名兩點分佈或者$0-1$分佈，是一個離散型概率分佈。若伯努利試驗成功，則伯努利隨機變量取值為$1$，如果失敗則取值為$0$。記其成功概率為$p(0\\leq p \\leq 1)$，失敗概率為：$q = 1-p$。其概率質量函數（PMF） 為：<br>\n",
    "<center>\n",
    "    $\\begin{equation}     \\nonumber P_X(x) = \\left\\{     \\begin{array}{l l}     p& \\quad \\text{for  } x=1\\\\     1-p & \\quad \\text{ for } x=0\\\\     0  & \\quad \\text{ otherwise }     \\end{array} \\right. \\end{equation}$\n",
    "    </center>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x68586c90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.stats import bernoulli\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "\n",
    "p = 0.8\n",
    "x = np.linspace(0,1)\n",
    "\n",
    "plt.plot(x,bernoulli.pmf(x,p),'o-',label='bernoulli pmf')\n",
    "\n",
    "plt.title('bernoulli pmf')\n",
    "plt.xlim(-0.1,1.1)\n",
    "plt.ylim(0,1)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "伯努利分佈只有一個參數$p$，記做$X ~ Bernuolli(p)$，或$X ~ B(1,p)$，讀做$X$服從參數為$p$的伯努利分佈。伯努利分佈適合於試驗結果只有兩種可能的單次試驗。例如拋一次硬幣，其結果只有正面或者反面兩種可能；一次產品質量檢測，結果只有合格還是不合格這兩種可能。<br>\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x68640dd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "from scipy.stats import bernoulli\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def bernoulli_pmf(p=0.0):\n",
    "\n",
    "    ber_dist = stats.bernoulli(p)\n",
    "    x = [0, 1]\n",
    "    x_name = ['0', '1']\n",
    "    pmf = [ber_dist.pmf(x[0]), ber_dist.pmf(x[1])]\n",
    "    plt.bar(x, pmf, width=0.15)\n",
    "    plt.xticks(x, x_name)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title('PMF of bernoulli distribution')\n",
    "    plt.show()\n",
    "\n",
    "bernoulli_pmf(p=0.8)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上面兩幅圖都是表示伯努利分佈的 PMF；我們為了得到比較準確的某個服從伯努利分佈的隨機變量的期望，需要大量重複伯努利試驗，例如重複$n$次，然後利用$\\frac{正面朝上的次數}{n}$來估計$p$值，當我們重複$n$次以後，這就變成了二項分布，就是下面會提到的**二項分布**。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 二项分布（Binomial Distribution）\n",
    "\n",
    "二項分布是指$n$個獨立的是/非試驗中成功的次數的離散概率分佈，其中每次試驗的成功概率為$p$。這樣的單詞成功/失敗試驗又稱為伯努利試驗。實際上，當$n = 1$時，二項分布就是伯努利分佈。二項分布時顯著性差異的二項試驗的基礎。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114dda828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "def binom_pmf(n=1, p=0.1):\n",
    "\n",
    "    binom_dis = stats.binom(n, p) \n",
    "    x = np.arange(binom_dis.ppf(0.0001), binom_dis.ppf(0.9999))\n",
    "    #print(x)  # [ 0.  1.  2.  3.  4.]\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    ax.plot(x, binom_dis.pmf(x), 'bo',label='binom pmf')\n",
    "    ax.vlines(x, 0, binom_dis.pmf(x), colors='b', lw=5, alpha=0.5)\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title('PMF of binomial distribution(n={}, p={})'.format(n, p))\n",
    "    plt.show()\n",
    "\n",
    "binom_pmf(n=20, p=0.6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 二項分布和其他分佈的關係\n",
    "\n",
    "1. 二項分布的和<br>\n",
    "    如果$X~B(n,p)$ 和$Y~B(n,p)$，且$X$和$Y$相互獨立，那麼$X + Y$ 也服從二項分佈：\n",
    "    $X + Y～B（n+m, p)$\n",
    "    \n",
    "2. 伯努利分佈<br>\n",
    "    二項分布就是$n$重伯努利試驗\n",
    "    \n",
    "3. 泊松分佈<br>\n",
    "   泊松分佈實際上可以通過二項分布推導出來，當$n$很大，$p$很小的時候，我們可以通過極限\n",
    "   去證明（證明見下方）\n",
    "   \n",
    "<br> 我們首先先畫圖來看，當$n = 100，p = 0.1$時"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11504b320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "binom_pmf(n=1000000,p=0.00001)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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EUewbNkyTjnlFA499FC+8IUvADB9+nTWrFnDxIkTX4mxLCKiLh7HHHNMmD33XMTIkRENDRHw6qOhISl/7rnK1GHdM3Dgjus+/9HcvGv1/uUvfwkg7r777oiIOPvss2PevHnxwgsvxODBg2PlypUREXHmmWfGZZddFhERJ554YixbtiyWL18e73znO1+p65lnnomIiEGDBkVbW9sOZbNmzYo5c+ZERMSdd94ZRx11VEREzJ49O97ylrdEW1tbbNy4Mfbbb7/YunXrTnECce2110ZExEUXXRTnn3/+K7F85jOfiYiIyy+/PAYNGhSPPfZYtLW1xQEHHBCbNm2KiIiDDjooNm7cWNI6AZZHCdtYH1lYXWlsTJooxo6FAQNASp7Hji296aIcdVj3ZNlvNGTIEN761rcCcMYZZ3D33XezcuVKhg0bxhve8AYApk2bxl133bXDcsOHD2fNmjV87GMf42c/+xl77bUXAKNGjWLq1Klce+21NDQk12a9++67OfPMMwF4xzvewebNm3n22WcBOPnkk+nXrx8DBw5k//3358knn9wpxj59+vChD31ohxjbTZo0CYAjjzySkSNHMmjQIPr168fw4cNZt27drq+YIjK96qykCcB/An2B/46Ir+ZNfztwOTAKmBIRN6XlbwIWAnsBLwNfjojFWcZq9aOxEcaPTx755ZWsw3ZdU1Pn/UZNTbtet6RO33dk33335aGHHuL222/nW9/6FjfeeCNXX301t912G3fddRe33norX/7yl3nkkUc6radfv36vvO7bty/btm3rUszty/fp02eHuvr06VNSXbsqsyMLSX2B+cBEYARwuqQRebP9DTgLuD6v/HngIxExEpgAXC5pn6xiNbPakmW/0d/+9jfuueceAK6//npOOOEEDjvsMNauXcuqVasAuOaaazjxxBN3WG7Tpk1s376dD3zgA1xyySU88MADbN++nXXr1jF+/HguvfRStmzZQmtrK29729u47rrrAPjVr37FwIEDXzkSKcX27du56aabdoix2rI8sjgOWBURawAk3QBMBl4ZgxYRa9Np23MXjIg/5bx+TNJTQDPw9wzjNbMa0dICN9/c8WiolpZdr/uwww5j/vz5nHPOOYwYMYIZM2bQv39/vvvd73Laaaexbds2jj32WKZPn77Dchs2bODss89m+/Zkc/WVr3yFl19+mTPO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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114fd8630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# poisson_distribution_PMF\n",
    "def poisson_pmf(mu=1):\n",
    "   \n",
    "    poisson_dis = stats.poisson(mu)\n",
    "    x = np.arange(poisson_dis.ppf(0.001), poisson_dis.ppf(0.999))\n",
    "    #print(x)\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    ax.plot(x, poisson_dis.pmf(x), 'bo', ms=8, label='poisson pmf')\n",
    "    ax.vlines(x, 0, poisson_dis.pmf(x), colors='b', lw=5, alpha=0.5)\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title('PMF of poisson distribution(mu={})'.format(mu))\n",
    "    plt.show()\n",
    "\n",
    "poisson_pmf(mu=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由圖可得：兩者近似相等；下面是數學證明：\n",
    "\n",
    "Let $X$ be as described,\n",
    "Let $ k \\geq 0$ be fixed, we write $p = \\frac{\\lambda}{n}$ and suppose \n",
    "that $n$ is large.<br>\n",
    "Then: <br>\n",
    "\n",
    "<center>\n",
    "    $\\begin{align*}\n",
    "    Pr(X = k) &=  \\binom n k p^k \\left({1 - p}\\right)^{n-k} \\\\& \\simeq \\frac {n^k} {k!} \\left({\\frac \\lambda n}\\right)^k \\left({1 - \\frac \\lambda n}\\right)^n \\left({1 - \\frac \\lambda n}\\right)^{-k} \\\\ &= \\frac 1 {k!} \\lambda^k \\left({1 + \\frac {-\\lambda} n}\\right)^n \\left({1 - \\frac \\lambda n}\\right)^{-k} \\\\ &=  \\frac 1 {k!} \\lambda^k \\left({1 + \\frac {-\\lambda} n}\\right)^n \\\\ &\\simeq \\frac{1}{k}\\lambda^k e^{-\\lambda} \\end{align*}$\n",
    "   </center>\n",
    "   \n",
    "\n",
    "when $n \\gg k$ it's a reasonable approximation for $\\binom n k $, as $ 1-p = (1 - \\frac{\\lambda}{n})$ is very close to $1$. Hence the result.\n",
    "<br>\n",
    "<br>\n",
    "**Comment:**\n",
    "Okay wise guy, exactly what constitutes \"very large\", \"very small\", and \"of a reasonable size\"?\n",
    "Well, if $n = 10^6$ and $p = 10^{-5}$, we have np = 10 = \\lambda$\n",
    "That's the sort of order of magnitude we're talking about here.\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 泊松分佈（Poisson Distribution）\n",
    "\n",
    "泊松分佈有一個參數$\\lambda$（或$\\mu$），表示單位事件內隨機事件的平均發生次數，其 PMF 表示為：<br>\n",
    "\n",
    "<center>\n",
    "    $\\begin{equation}\\nonumber P_X(k) = \\left\\{\\begin{array}{l l}\\frac{e^{-\\lambda} \\lambda^k}{k!}& \\quad \\text{for  } k \\in R_X\\\\       0  & \\quad \\text{ otherwise} \\end{array} \\right.             \\end{equation}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "以上表示單位時間上的泊松分佈，即$t = 1$，如果表示時間$t$上的泊松分佈，則需要將$\\lambda$乘以$t$ $\\Rightarrow\\lambda t$\n",
    "<br>\n",
    "\n",
    "一個隨機變量$X$服從參數為$\\lambda$的柏松分佈，記做$X～Poisson(\\lambda)$，或$X～P(\\lambda)$。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "泊松分佈適合於描述單位時間內隨機時間發生的次數的概率分佈。如，某一服務設施在一定時間內收到的服務請求的次數，電話交換機接到胡椒的次數，機器出現的故障數，DNA序列的變異數等等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 一維連續型隨機變量及其 Python 實現\n",
    "\n",
    "上一小節總結了幾種離散型隨機變量，這個小節總結連續型隨機變量。離散型隨機變量的可能取值為有限多個或者無限可數，而連續型隨機變量的可能取值則為一段連續的區域或者整個實數軸，是不可數的。最常見的連續型隨機變量有三種：均勻分布、指數分佈和正太分佈。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 均勻分佈（Uniform Distribution）\n",
    "\n",
    "如果連續型隨機變量$X$具有如下的概率目睹函數，則稱$X$服從$[a,b]$上的菊允分佈，記做$X～U[a,b]$<br>\n",
    "<center>\n",
    "    $\\begin{equation}              \\nonumber f_X(x) = \\left\\{               \\begin{array}{l l}                 \\frac{1}{b-a} & \\quad  a < x < b\\\\                 0 & \\quad x < a \\textrm{ or } x > b               \\end{array} \\right.             \\end{equation}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "均勻分佈具有等可能性，也就是說服從$U(a,b)$上的均勻分佈的隨機變量$X$落入$(a,b)$中國年的任意子區間的概率只與其取件長度有關，與取件所處的位置無關。<br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由於是均勻分佈的概率函數是一個常數，因此，其累積分佈函數是一條直線，隨著其取值在定義域內增加，累積分佈函數值均勻增加。\n",
    "<br>\n",
    "\n",
    "<center>\n",
    "    $\\begin{equation} \t\t\t\t\t\t  \\hspace{70pt}                           F_X(x)  = \\left\\{                           \\begin{array}{l l}                             0 & \\quad \\textrm{for } x < a \\\\                             \\frac{x-a}{b-a} & \\quad \\textrm{for }a \\leq x \\leq b\\\\                             1 & \\quad \\textrm{for } x > b                           \\end{array} \\right. \t\t\t\t\t\t  \\hspace{70pt}                           \\end{equation}$\n",
    "</center>\n",
    "<br>\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116964d68>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.stats import uniform\n",
    "import matplotlib.pyplot as plt\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "\n",
    "x = np.linspace(-2, 2)\n",
    "ax.plot(x, uniform.cdf(x),'r-', lw=5, alpha=0.6)\n",
    "plt.title(\"CDF of uniform distribution\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "均勻分佈主要可以用在：\n",
    "* 設通過某站的汽車10分鐘一輛，則乘客候車時間$X$，在$[0,10]$上服從均勻分佈；\n",
    "* 某電台每20分鐘發一個信號，我們隨手打開收音機，等待的時間$X$在$[0,20]$上服從均勻分佈 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 2.004  4.     5.996]\n",
      "True\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116ae3160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def uniform_distribution(loc=0, scale=1):\n",
    "    \"\"\"\n",
    "    均匀分布，在实际的定义中有两个参数，分布定义域区间的起点和终点[a, b]\n",
    "    :param loc: 该分布的起点, 相当于a\n",
    "    :param scale: 区间长度, 相当于 b-a\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    uniform_dis = stats.uniform(loc=loc, scale=scale)\n",
    "    x = np.linspace(uniform_dis.ppf(0.01),\n",
    "                    uniform_dis.ppf(0.99), 100)\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "\n",
    "    # 直接传入参数\n",
    "    ax.plot(x, stats.uniform.pdf(x, loc=2, scale=4), 'r-',\n",
    "            lw=5, alpha=0.6, label='uniform pdf')\n",
    "\n",
    "    # 从冻结的均匀分布取值\n",
    "    ax.plot(x, uniform_dis.pdf(x), 'k-',\n",
    "            lw=2, label='frozen pdf')\n",
    "\n",
    "    # 计算ppf分别等于0.001, 0.5, 0.999时的x值\n",
    "    vals = uniform_dis.ppf([0.001, 0.5, 0.999])\n",
    "    print(vals)  # [ 2.004  4.     5.996]\n",
    "\n",
    "    # Check accuracy of cdf and ppf\n",
    "    print(np.allclose([0.001, 0.5, 0.999], uniform_dis.cdf(vals)))  # Ture\n",
    "\n",
    "    r = uniform_dis.rvs(size=10000)\n",
    "    ax.hist(r, normed=True, histtype='stepfilled', alpha=0.2)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of Unif({}, {})'.format(loc, loc+scale))\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.show()\n",
    "\n",
    "uniform_distribution(loc=2, scale=4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "從定義式中可以看出，定義一個均勻分佈需要兩個參數：定義域的起點$a$和終點$b$，但是在`Python`中是`localtion`是`scale`，分別表示起點和區間長度: <a href=\"https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.uniform.html\">scripy.stats.uniform</a><br>\n",
    "\n",
    "上面的代碼採用了兩種方式$\\Rightarrow$直接傳入參數和先凍結了一個分佈，然後畫出均勻分佈的概率分佈函數。此外還從該分佈中選取了10000個值做直方圖。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上圖是一個均勻分佈：$U(2,6)$的概率密度函數曲線"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 指數分佈（Exponentinal Distribution）\n",
    "\n",
    "在概率論和統計學中，指數分佈（Exponential Distribution）是一種連續型的概率分佈。可以用來表示獨立隨機時間發生的時間間隔，比如旅客進入機場的時間間隔，打進客服中心電話的時間間隔、中文維基百科新條目出現的時間等等。其實，指數分佈和離散型的泊松分佈有很大關係。泊松分佈表示的是單位時間（或單位面積）內隨機時間的平均發生次數，指數分佈則可以用來表示獨立隨機事件發生的時間間隔。由於發生次數之能事自然數，所以泊松分佈很自然就是離散型的隨機變量；而時間間隔則可以是任意的實數，因此其定義域為：$(0, +\\infty)$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "如果一個隨機變量$X$的概率密度函數滿足以下形式，就稱$X$為服從參數$\\lambda$的指數分佈（Exponential\n",
    "Distribution），記做$X～E(\\lambda)$或$X～Exp(\\lambda)$<br>\n",
    "\n",
    "指數函數只有一個參數$\\lambda$，且$\\lambda > 0$\n",
    "<br>\n",
    "<center>\n",
    "    $\\begin{equation}              \\nonumber f_X(x) = \\left\\{               \\begin{array}{l l}                 \\lambda e^{-\\lambda x} & \\quad  x > 0\\\\                 0 & \\quad \\textrm{otherwise}               \\end{array} \\right.             \\end{equation}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "##### 主要用途：\n",
    "\n",
    "* 表示獨立隨機案時間發生的時間間隔；\n",
    "* 在排隊輪中，一個顧客接受服務的時間段也可以用指數分佈來近似；\n",
    "* 無記憶性的現象（連續時間）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 性質\n",
    "\n",
    "指數分佈的一個顯著的特點就是具有無記憶性。例如如果排隊的顧客接受服務的時間長短服從指數分佈，那麼無論你已經排了多久的隊伍，在排$t$分鐘的概率始終是相同的。\n",
    "<br>\n",
    "\n",
    "用公式表達則為：<br>\n",
    "<center>\n",
    "    $P(X \\geq s + t | X \\geq s) = P(X \\geq t) \\text{  for all  } s,t > 0$\n",
    "</center>\n",
    "<br>\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[  2.00100067e-03   1.38629436e+00   1.38155106e+01]\n",
      "True\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x717dc6d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.stats as stats\n",
    "\n",
    "def exponential_dis(loc=0, scale=1.0):\n",
    "    \"\"\"\n",
    "    指数分布，exponential continuous random variable\n",
    "    按照定义，指数分布只有一个参数lambda，这里的scale = 1/lambda\n",
    "    :param loc: 定义域的左端点，相当于将整体分布沿x轴平移loc\n",
    "    :param scale: lambda的倒数，loc + scale表示该分布的均值，scale^2表示该分布的方差\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    exp_dis = stats.expon(loc=loc, scale=scale)\n",
    "    x = np.linspace(exp_dis.ppf(0.000001),\n",
    "                    exp_dis.ppf(0.999999), 100)\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "\n",
    "    # 直接传入参数\n",
    "    ax.plot(x, stats.expon.pdf(x, loc=loc, scale=scale), 'r-',\n",
    "            lw=5, alpha=0.6, label='uniform pdf')\n",
    "\n",
    "    # 从冻结的均匀分布取值\n",
    "    ax.plot(x, exp_dis.pdf(x), 'k-',\n",
    "            lw=2, label='frozen pdf')\n",
    "\n",
    "    # 计算ppf分别等于0.001, 0.5, 0.999时的x值\n",
    "    vals = exp_dis.ppf([0.001, 0.5, 0.999])\n",
    "    print(vals)  \n",
    "\n",
    "    # Check accuracy of cdf and ppf\n",
    "    print(np.allclose([0.001, 0.5, 0.999], exp_dis.cdf(vals)))\n",
    "\n",
    "    r = exp_dis.rvs(size=10000)\n",
    "    ax.hist(r, normed=True, histtype='stepfilled', alpha=0.2)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of Exp(0.5)')\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.show()\n",
    "\n",
    "exponential_dis(loc=0, scale=2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上圖是，$Exp(0,5)$的概率分佈函數圖<br>\n",
    "\n",
    "下面是對不同參數的指數分佈的概率分佈函數圖的比較："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x687fc9d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def diff_exp_dis():\n",
    "    \"\"\"\n",
    "    不同参数下的指数分布\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    exp_dis_0_5 = stats.expon(scale=0.5)\n",
    "    exp_dis_1 = stats.expon(scale=1)\n",
    "    exp_dis_2 = stats.expon(scale=2)\n",
    "\n",
    "    x1 = np.linspace(exp_dis_0_5.ppf(0.001), exp_dis_0_5.ppf(0.9999), 100)\n",
    "    x2 = np.linspace(exp_dis_1.ppf(0.001), exp_dis_1.ppf(0.999), 100)\n",
    "    x3 = np.linspace(exp_dis_2.ppf(0.001), exp_dis_2.ppf(0.99), 100)\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    ax.plot(x1, exp_dis_0_5.pdf(x1), 'b-', lw=2, label=r'lambda = 2')\n",
    "    ax.plot(x2, exp_dis_1.pdf(x2), 'g-', lw=2, label='lambda = 1')\n",
    "    ax.plot(x3, exp_dis_2.pdf(x3), 'r-', lw=2, label='lambda = 0.5')\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of Exponential Distribution')\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.show()\n",
    "\n",
    "diff_exp_dis()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 正態分佈（Normal Distribution）\n",
    "\n",
    "正態分佈，又名高斯分佈（Gaussian Distribution），是一種非常常見的連續概率分佈，經常用在自然和社會科學中表示一種不明的隨機變量。由於中心極限定理的存在，正太分佈也是所有分佈中應用最廣泛的分佈。<br>\n",
    "\n",
    "##### 定義：\n",
    "\n",
    "若隨機變量$X$的概率密度符合以下形式，就稱$X$服從參數為$\\mu, \\sigma$的正態分佈，記做：$X～N(\\mu,\\sigma^2)$.\n",
    "<br>\n",
    "<center>\n",
    "    $f_X (x) = \\frac{1}{\\sqrt{2 \\pi } \\sigma} \\exp \\left\\{-\\frac{(x - \\mu)^2}{2 \\sigma^2} \\right\\}, \\hspace{20pt} \\textrm{for all } x \\in \\mathbb{R}.$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "如果上式公式中$\\mu = 0, \\sigma = 1$，就叫做標準正態分佈（Standard Normal Distribution），一般記做$Z～N(0,1)$<br>\n",
    "\n",
    "由於標準正態分佈在統計學中的重要地位，它的累積分佈函數（CDF）有一個專門的表示符號：$\\Phi$，一般在統計相關的書籍附錄中的“標準正太分佈函數值表”就是該值與隨機變量的取值之間的對應關係。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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yZMmPT3d1K5d28TGxhb4XauSdehskrnnfxtM/YnLzV0frTf7T593dEjKBog0duRYbbnnU7duXa655hoARowYwbp169i3bx8NGzakadOmiAgjRowotJ7ExEQSEhLo2bMnAKNHj2bNmjVX/EyjRo04fPgwjzzyCN99991lJxpbvXo1Xbt2pW3btvz888/s3r07d9udd94JWFPuXpwid82aNbkxh4WFERYWllt+4cKFdOzYkQ4dOrB792727NmTu+3i4iP5j2XkyJGXPYYuXbpQp04d3NzcaN++PUeOHGH//v00bNiQZs2aFfhd5F9q8OK0xG3btqV169bUrFkTb29vGjVqxLFjx1ClxxjD578dpd+/17LrZCKvD2rDwge7a7+6Eyq/fe793nTIbvOfbl58XRanoVWqVGH79u18//33fPzxxyxcuJAZM2b8pUx6ejp/+9vfiIyMpG7dukyePJn09PTc7RenzM0/5W5B8UdFRfHOO++wadMmqlSpwpgxY/5S18XpeM0VpkLOr6Bph00h8xddadrfvPXptL+lKzHtAv+3eCcrdp7iuqahvDukHdUC9a5SZ6Ut93yio6PZsGEDAPPmzePaa6+lRYsWREVF5fapz5s3r9B6goKCqFKlSm6/95w5c3JbvpcTGxtLTk4Od911F6+99hpbtmwB+Mu0vxeTb2hoKMnJyXz11VeFxpJ3yt5du3axY8cOAM6fP4+fnx9BQUGcOXOGb7/9tsDPV65cmaCgINatWwfYP+3xRS1atODIkSMcPHgQsO+7UGVra/Q5Bnywlu93n+bZfi2YPbaLJnYnV35b7g7SvHlzpk6dyrhx42jVqhUPPfQQPj4+TJs2jQEDBuDr68t111132elx85o9ezYTJkwgNTWVRo0aFTrV7YkTJxg7diw5OdZCBW+88QZgLaoxYcIEKlWqxIYNG3jggQdo06YNNWrU+MsUvpfz0EMPMXbsWFq2bEnLli1z11Bt164dHTp0oEWLFn/pjirIzJkzGTduHCLCzTffXOg+8/Lx8WHmzJkMGTKErKwsOnfuzIQJE4pUhyodOTmGT9YeZsr3+6ke6MPCCd317lIXoVP+5nHkyBFuvfVWdu3a5ehQlCp1CamZPL5gGxH7Y+jXpgZv3hVGUCWdrbG80yl/lVKXFRWbwrhZmzhxLo1X72jDiK71dHiji9HknkeDBg20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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6885bb50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "x = np.linspace(-3,3)\n",
    "y = stats.norm.cdf(x, loc=0, scale=1)\n",
    "y1 = stats.norm.pdf(x, loc=0, scale=1)\n",
    "ax.plot(x,y,'-',label='cdf of standard norm')\n",
    "ax.plot(x,y1,'-',label='pdf of standard norm')\n",
    "ax.legend( loc='best',frameon=False)\n",
    "\n",
    "plt.title(r'Standard Normal Distribution')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 正態分佈兩個參數含義：\n",
    "* 當固定$\\sigma$，改變$\\mu$時，$f(x)$圖形的形狀不變，只是沿著$x$軸做平移變換，因此$\\mu$被稱為位置參數（決定了（對稱軸的位置）；\n",
    "*當固定$\\mu$，改變$\\sigma$時，$f(x)$圖形的對稱軸不變，形狀改變，$\\sigma$越小，圖形越高越瘦;$\\sigma$越大，圖形越矮越胖，因此$\\sigma$被稱為尺度參數（決定曲線的分散程度）<br>\n",
    "\n",
    "下面是示例："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6865e790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "x = np.linspace(-5,5)\n",
    "y = stats.norm.pdf(x, loc=0, scale=1)\n",
    "y1 = stats.norm.pdf(x, loc=2, scale=1)\n",
    "ax.plot(x,y,'-',label='pdf of norm with mu = 0')\n",
    "ax.plot(x,y1,'-',label='pdf of norm with mu = 2')\n",
    "ax.legend(loc='best',frameon=True)\n",
    "\n",
    "plt.title(r'Normal Distribution')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VFXawPHfM6mkAWm0AAkJJSBIiXRUioqIYMG1oSiWZdXVXdfXteu6r/vuqrvrumLB3lFRERU7qHRpAYGAhFASSkIS0nvmvH/cCYaQkEkyySST5/v5zIeZW859JiTPPffcc88RYwxKKaXaB5u7A1BKKdVyNOkrpVQ7oklfKaXaEU36SinVjmjSV0qpdkSTvlJKtSOa9FW7ICKPiMhbTSyjQET6uCie+0TkJcf7aBExIuLtorJ7OWL1ckV5yrNo0lcuISL7RCRdRAKrLbtRRL53Y1hOEZGzRcTuSJQFIpImIu+LyBnVtzPGBBljUpwoK62+Yxpj/maMubGpsTuOuU9EplQr+4Aj1kpXlK88iyZ95UrewB1NLUQsLf27ecgYEwQEA6OBncAKEZns6gO5qkavVGNo0leu9ARwl4h0qm2liIwVkfUikuv4d2y1dd+LyGMisgooAvo4lv2viKx21MA/FZEwEXlbRPIcZURXK+M/IpLqWLdRRCY09AsYS5ox5iHgJeAf1co3IhLneD9NRHaISL6IHBSRuxxXOV8A3atdNXR3NC0tEpG3RCQPuK6O5qa5InJIRA6LyJ+qHfc1Efnfap+PX02IyJtAL+BTx/Hurtlc5IhhiYhki0iyiNxUraxHHFc1bzi+y3YRSWjoz021HZr0lSttAL4H7qq5QkRCgc+Bp4Ew4F/A5yISVm2za4CbsWrb+x3LrnAs7wHEAmuAV4FQIAl4uNr+64GhjnXvAB+IiH8Tvs9HwPDqTVbVvAz81hgTDJwGLDPGFALn47hqcLwOObafCSwCOgFv13G8iUBf4FzgnupNNnUxxlwDHAAudBzv8Vo2exdIA7oDs4C/1biCmQEsdMS2BHimvuOqtkuTvnK1h4Dfi0hEjeUXALuNMW8aYyqMMe9iNaFcWG2b14wx2x3ryx3LXjXG7DHG5GLVovcYY741xlQAHwDDqnY2xrxljMly7P9PwA/o34TvcggQrGRYUzkwUERCjDHHjDGb6ilrjTFmsTHGbowprmObvxhjCo0xP2Od2K5sfOgWEekJjAf+bIwpMcYkYl3BXFNts5XGmKWOewBvAqc39biq9dKkr1zKGLMN+Ay4p8aq7vxae6+yH6sGXyW1liLTq70vruVzUNUHEfmTiCQ5mo9ygI5AeMO+wQl6AAbIqWXdpcA0YL+I/CAiY+opq7bvdqpt9mP9zJqqO5BtjMmvUXb1n/uRau+LAH+97+C5NOmr5vAwcBMnJpZDQO8a2/UCDlb73OghXx3t938GfgN0NsZ0AnKxauqNdTGwydFscwJjzHpjzEwgElgMvF+1qo6ynPluPau974X1MwMoBAKqrevagLIPAaEiElyj7IN1bK88nCZ95XLGmGTgPeD2aouXAv1E5CoR8RaRy4GBWFcFrhAMVABHAW8ReQgIaWghjp5DPUTkYeBG4L5atvEVkatFpKOjGSoPqOoemQ6EiUjHRnyHB0UkQEQGAddj/QwBEoFpIhIqIl2BP9TYLx2o9fkBY0wqsBr4PxHxF5EhwA3UfV9BeThN+qq5PAocvwFqjMkCpgN/ArKAu4HpxphMFx3vK6w2/1+wmi9KcK5JpUp3ESkACrBuCA8GzjbGfF3H9tcA+xy9ceYBswGMMTuxbpymiEiOiDSkieYHIBn4Dniy2rHfBLYA+4Cv+fVkUOX/gAccxzvpJjrWvYForFr/x8DDxphvGhCX8iCik6gopVT7oTV9pZRqRzTpK6VUO6JJXyml2hFN+kop1Y60ugcwwsPDTXR0tLvDUEqpNmXjxo2ZxpiaT8KfpNUl/ejoaDZs2ODuMJRSqk0RkZpPvNdKm3eUUqod0aSvlFLtiCZ9pZRqR1pdm75SLa28vJy0tDRKSkrcHYpS9fL39ycqKgofH59G7e9U0heRqcB/AC/gJWPM3+vYbhbWGOdnGGM2OJbdizXAUyVwuzHmq0ZFqlQzSUtLIzg4mOjoaESaMiinUs3LGENWVhZpaWnExMQ0qox6m3dExAuYjzUj0EDgShEZWMt2wVijKq6rtmwg1sxHg4CpwLOO8pRqNUpKSggLC9OEr1o9ESEsLKxJV6XOtOmPBJKNMSnGmDKsadVm1rLdX4HHsUY3rDITWGiMKTXG7MUaQXBko6NVqplowldtRVN/V51p3unBiUPUpgGjagQxDOhpjPmsxtCuPYC1NfatPrFG1f43Y82NSq9evZyLXKlmZowhp6ic0gp7retD/L0J8NPbYqptcaamX9tp5fh4zCJiA/6NNU56g/Y9vsCYBcaYBGNMQkREvQ+UKdUisgvLSD1WREZ+Sa2vlMxCSsor6y/IRb7//numT58OQGlpKVOmTGHo0KG8917N4fVrt3PnToYOHcqwYcPYs2dPc4bqEs8//zxvvPEGAK+99hqHDh06vi46OprMzMZNxTB27FiXxNccdu7cyZgxY/Dz8+PJJ59slmM4U01J48Rp3KL4dRo3sGYsOg343nHZ0RVYIiIznNhXqVapqKyCQ7klBPv7EB0WcNIldVmFneSMAg5kFxEbEYSXrWWbhzZv3gxAYmKi0/ssXryYWbNm8cADD7g0loqKCry9XX/FM2/evOPvX3vtNU477TS6d2/6tMGrV69uchnNJTQ0lKeffprFixc32zGcqemvB/qKSIyI+GLdmF1StdIYk2uMCTfGRBtjorGac2Y4eu8sAa4QET8RiQH6Aj+5/Fso5UIVlXYOZBXhYxN6du5Qaxuqr7eNnqEdKCmv5GBOMU2ZjGjfvn0MGDCAq6++mvj4eGbNmkVRUREAX375JQMGDGD48OF89NFHAGRkZDB79mzWr1/P0KFDT6q1JyYmMnr0aIYMGcLFF1/MsWPHWLp0KU899RTPPfccEydOPCmGoKAg7r//fk4//XRGjx5Nero1//z+/fuZPHkyQ4YMYfLkyRw4cACA6667jnnz5jFq1CjuvvtuHnnkEebMmcOECRPo3bs3H330EXfffTeDBw9m6tSplJeXn3C8jIwMRowYAcCWLVsQkeNlx8bGUlRUxCOPPMKTTz7JokWL2LBhA1dffTVDhw6luLgYgP/+978MHz6cwYMHs3PnzpO+0/bt2xk5ciRDhw5lyJAh7N69+/h3BbDb7dxyyy0MGDCAc845h2nTprFo0SLAupK49957GTp0KAkJCWzatInzzjuP2NhYnn/+eQAKCgqYPHny8Rg++eSTBv2/1yYyMpIzzjij0d0xnVHv6dkYUyEit2FNR+cFvGKM2S4ijwIbjDFLTrHvdhF5H9iBNX/prcaYlrseVqqB/rJkO5sOHKPSGDr4eGGr56ZZeaWdsgo7ft42vL1qr0MN7B7CwxcOOmU5u3bt4uWXX2bcuHHMnTuXZ599lttuu42bbrqJZcuWERcXx+WXXw5YieGll17iySef5LPPTp5i+Nprr+W///0vZ511Fg899BB/+ctfeOqpp5g3bx5BQUHcddfJMyoWFhYyevRoHnvsMe6++25efPFFHnjgAW677TauvfZa5syZwyuvvMLtt99+vBaalpbG6tWr8fLy4pFHHmHPnj0sX76cHTt2MGbMGD788EMef/xxLr74Yj7//HMuuuii48eLjIykpKSEvLw8VqxYQUJCAitWrGD8+PFERkYSEPDrPPCzZs3imWee4cknnyQhIeH48vDwcDZt2sSzzz7Lk08+yUsvvXTCd3r++ee54447uPrqqykrK6Oy8sTU89FHH7Fv3z527NhBRkYG8fHxzJ079/j6Xr16kZiYyB//+Eeuu+46Vq1aRUlJCYMGDWLevHn4+/vz8ccfExISQmZmJqNHj2bGjBknVRIuv/xydu3addLP/M477+Taa689+ZehmTl1TWaMWYo1sXX1ZQ/Vse3ZNT4/BjzWyPiUalFF5ZVU2g1+3rZ6Ez6Aj5eNSruhtNKOzSZO7VObnj17Mm7cOABmz57N008/zZQpU4iJiaFv377Hly9YsOCU5eTm5pKTk8NZZ50FwJw5c7jsssvqPb6vr+/x+wUjRozgm2+sKXTXrFlz/Arjmmuu4e677z6+z2WXXYaX1689sM8//3x8fHwYPHgwlZWVTJ06FYDBgwezb9++k445duxYVq1axY8//sh9993Hl19+iTGGCRMm1BsvwCWXXHI83qoYqxszZgyPPfYYaWlpXHLJJcd/jlVWrlzJZZddhs1mo2vXriddAc2YMeN4/AUFBQQHBxMcHIy/vz85OTkEBgZy33338eOPP2Kz2Th48CDp6el07dr1hHKcvefSUrTrgVIO+SXlXD2qF50CfOts1qlNRaXVvg8QFxlUZ43/VGoeq+pzS3Ul9fHxOX4sLy8vKioqat2uejyBgYEnrPPz8wPAZrOdUJ7NZqu1vAkTJrBixQr279/PzJkz+cc//oGIHD/51KfqeHXFe9VVVzFq1Cg+//xzpk2bxgsvvMCkSZOOr6+vSa7696l6X/37vP322xw9epSNGzfi4+NDdHR0rf3nW1tNX8feUQrrxmxqdjH+Pl706OR8wgfw9rLRKyyAcrsh9Vjj2vcPHDjAmjVrAHj33XcZP348AwYMYO/evcfb7N999916y+nYsSOdO3dmxYoVALz55pvHa/2NMXbsWBYuXAjA22+/zfjx4xtdVk1nnnkmb731Fn379sVmsxEaGsrSpUuPX/FUFxwcTH5+foPKT0lJoU+fPtx+++3MnDmTrVu3nrB+/PjxfPjhh9jtdtLT0/n+++8bVH5ubi6RkZH4+PiwfPly9u+vfWTj9957j8TExJNe7kj4oDV9pTDGcCC7CLsx9AoNbFRPnABfb7p39OdgTjEZ+aV0CfFv0P79+/dn/vz5zJ07l4EDB/K73/0Of39/FixYwAUXXEBAQAATJkxwKvG9/vrrzJs3j6KiIvr06cOrr77a4O9T5emnn2bu3Lk88cQTRERENKmsmqomSzrzzDMBKwmnpaXRuXPnk7atunHcoUOH4yfH+rz33nu89dZb+Pj40LVrV+67774T1l966aV89913DBw4kJ49ezJ8+HA6duzodPxXX301F154IYMHDyYhIYEBAwY4vW9djhw5QkJCAnl5edhsNp566il27NhBSEhIk8uuIk3pddAcEhISjE6iolrSxi0/4xPWk16hAXQK8G10OcYYUrOLyS0pJ75rsNPNPPv27WP69Ols27at0cdWjVNQUEBQUBBZWVmMHDmSVatWndQm3xolJSURHx9/wjIR2WiMSahjl+O0pq/avcLSSrp4e9GxQ9O6yYkIkSF+5BSXkV1URmRww2r7quVNnz6dnJwcysrKePDBB9tEwm8qTfqqXUs6nEdphZ3QQF+X3DT19/Ei0M+b7MIyIoL8nCozOjpaa/lu0tB2fE+gN3JVu/bW2v2IQOcA1z0MExboS1mFnfzS2nvAKOVOmvRVu1VQWsHizQcJ8PFqVDfLuoR08MHbZiO7oMxlZSrlKpr0Vbv18eaDFJZVEujikTJtIoQG+pBfUk5ZHSN0KuUumvRVu2SM4e21+xnUPQRfb9f/GYQG+mKwRupUqjXRpK/apY37j7HzSD6zR/dulvJ9vb0I8fchu7AMu4u6RevQyp4/tPLbb7/NkCFDGDJkCGPHjmXLli0uP4b23lHt0tvrDhDs583Mod3Zv2d3sxwjNNCXvJJC8orLm9T/vzY6tHLjteahlWNiYvjhhx/o3LkzX3zxBTfffDPr1q2rf8cG0Jq+aneyC8v4fOthLhnegwDf5qv3BPt74+tlI6ueJh4dWlmHVq4yduzY408kjx49mrS0tCaXWZPW9FW788GGVMoq7VxdW9POF/fAkZ9dchwB+lTaye04gJKLnsTfx6vObXVoZR1auaaXX36Z888/v871jaVJX7UrdrvhnZ8OMDImlH5dgpv9eN5egoh1ddG9U4c6t9OhlXVo5eqWL1/Oyy+/zMqVKxu8b32cSvoiMhX4D9YkKi8ZY/5eY/084FagEigAbjbG7BCRaCAJqDrNrTXGzEMpN1mRnMn+rCL+dG7/2jc4/++1L28kG1CUVUR+URldQvzrHMxNh1bWoZWrbN26lRtvvJEvvviCsLCwU8bYGPW26YuIFzAfOB8YCFwpIgNrbPaOMWawMWYo8Djwr2rr9hhjhjpemvCVW721dj/hQb5MHdRyY6yEBflSaTfkFtfdtq9DK+vQymD9HlxyySW8+eab9OvXr0HxOMuZmv5IINkYkwIgIguBmVhTIAJgjMmrtn0g0LqG7lQKOJRTzHdJ6cw7K7ZZ+ubXJcDXC38fL7IKyggN9Kt1Gx1aWYdWBnj00UfJysrilltuAcDb2xuXjzpsjDnlC5iF1aRT9fka4JlatrsV2AOkAn0dy6KBQmAz8AMwob7jjRgxwijVHJ5Zttv0/vNn5kBW4QnLd+zY0ezHPppfYrakHjPFZRUnrdu7d68ZNGhQs8egTpafn2+MMSYzM9P06dPHHD582M0ROae231msOcvrzenO1PRra1Q8qSZvjJkPzBeRq4AHgDnAYaCXMSZLREYAi0VkkDnxygARuRm4Gaw75ko1h292pHN6VEd6hgbUv7GLdezgw6GcYvKKy0/Zi0e1LB1auXZpQM9qn6OAQ3VsC7AQeA7AGFMKlDrebxSRPUA/4ITrFWPMAmABWJOoOBu8Us7KyC8hMTWHP53TPO2k9fHxshHg60VeSQWRNSZB0qGV3UeHVq7deqCviMSIiC9wBbCk+gYiUr0v1AXAbsfyCMeNYESkD9AXSHFF4Eo1xPKdGQBMju9S63rTAjPIBfv7UFRWQXmlDsKmGq+pv6v1Jn1jTAVwG/AVVvfL940x20XkURGZ4djsNhHZLiKJwJ1YTTsAZwJbRWQLsAiYZ4zJblLESjXCNzsy6NGpA/HdTu6b7+/vT1ZWVrMn/hB/a8z+/JLyerZUqnbGGLKysvD3b/ysbE710zfGLAWW1lj2ULX3d9Sx34fAh42OTikXKCmvZGXyUS5P6Flrv/eoqCjS0tI4evRos8eSlVtC3mEhLKj2XjxK1cff35+oqKhG769P5CqPtyo5k5Jye51NOz4+PsTExLRILO9+so33N6SS+NC5ekNXuYUOuKY83rdJ6QT5eTOqT6i7Q2FKfBdKyu2sSm7csMBKNZUmfeXR7HbDd0kZnNkvHD9v99esR/UJJdDXi2+TMtwdimqnNOkrj/bzwVwy8kuZUkfTTkvz8/birP4RfJeUjt2uvZNVy9Okrzzad0np2AQm9o90dyjHTYnvQkZ+KdsO5bo7FNUOadJXHu2bpAwSeofSOdC1M1c1xcT+kdgEvt2R7u5QVDukSV95rLRjRSQdzmPKwNZTywfoHOhLQu9QvtF2feUGmvSVx1pWz1O47jQ5PpKkw3kczCl2dyiqndGkrzzWNzvS6RMeSGxEkLtDOcmUgdaJ6LskbeJRLUuTvvJI+SXlrE3JYnJ862raqRIbEURMeKB23VQtTpO+8kgrdmdSXmlaTVfN2kyJj2TNnkwdi0e1KE36yiN9uyOdTgE+jOh98ixMrcWU+C6UVxpW7Nanc1XL0aSvPE5FpZ3luzKY2D8Sb6/W+ys+ondnOnbw4Vtt11ctqPX+RSjVSJsO5HCsqLxVN+0AeHvZmDQgkuU7M6jUp3NVC9GkrzzOd0np+HgJZ/YLd3co9ZocH8mxonI2HTjm7lBUO6FJX3mcH3dnktA7lGDHpCWt2YS+EdgEVvzS/GP5KwVOJn0RmSoiu0QkWUTuqWX9PBH5WUQSRWSliAystu5ex367ROQ8VwavVE2ZBaUkHc5jfN/WX8sHa8L0IVGdWKlDLasWUm/Sd8xxOx84HxgIXFk9qTu8Y4wZbIwZCjwO/Mux70CsOXUHAVOBZ6vmzFWqOazZkwXA2NgwN0fivHFxYWxJy9Wum6pFOFPTHwkkG2NSjDFlwEJgZvUNjDF51T4GAlV3pWYCC40xpcaYvUCyozylmsXqPZkE+3kzuEdHd4fitHGx4VTaDT/t1emjVfNzJun3AFKrfU5zLDuBiNwqInuwavq3N3Dfm0Vkg4hsaIl5SpXnWpWcxag+Ya26q2ZNw3t3xs/bxqrkLHeHotoBZ/4yTp5J+tea/K8LjJlvjIkF/gw80MB9FxhjEowxCREREU6EpNTJUrOLOJBdxPi4ttO0A+Dv48UZ0aE6haJqEc4k/TSgZ7XPUcChU2y/ELiokfsq1WhVSXNcXNu4iVvd2LgwdqXnczS/1N2hKA/nTNJfD/QVkRgR8cW6Mbuk+gYi0rfaxwuA3Y73S4ArRMRPRGKAvsBPTQ9bqZOt2pNFZLAfcZGtb1TN+oyLtU5Uq/dobV81r3qTvjGmArgN+ApIAt43xmwXkUdFZIZjs9tEZLuIJAJ3AnMc+24H3gd2AF8CtxpjKpvhe6h2zm43rE7OZFxcOCK1tSq2bqf16EiIv7c28ahm5+3MRsaYpcDSGsseqvb+jlPs+xjwWGMDVMoZu9LzySosa1NdNavzsgljYsNYlZyFMaZNnrhU29B2ujgodQptuT2/yri4cA7mFHMgu8jdoSgPpklfeYTVe7KICQ+ke6cO7g6l0cY62vW166ZqTpr0VZtXXmlnXUoW49pYV82aYiMC6Rrir+36qllp0ldt3pbUHArLKo/3gGmrRISxcWGs3pOJXYdaVs1Ek75q81YlZyECY9roTdzqxsWGc6yonKQjefVvrFQjaNJXbd6q5ExO696RTgG+7g6lyapuRGsTj2oumvRVm1ZUVsHm1GOMbePt+VW6dvQnNiJQb+aqZqNJX7VpP+3NprzStPn2/OrGxYXz095syirs7g5FeSBN+qpNW5Wcia+XjTOiQ90disuMiwunuLySzTqFomoGmvRVm7YqOYvhvTvRwddz5uYZ3ScMm1hjCSnlapr0VZuVXVjGjsN5HtW0A9YUioN7dGS13sxVzUCTvmqzjk+N2IaHXqjL2LhwElNzKCitcHcoysNo0ldt1srkTIL8vDk9qu1Mjeis8XHhVNgNP+3VJh7lWpr0VZu1Zk8mo/uEtqmpEZ01ondnfHUKRdUMPO+vRbULh3KK2ZdVxOg+ntE/vyZ/Hy+G9+p0vAlLKVfRpK/apKpk6AlDL9RlTJ9wko7kkVNU5u5QlAdxKumLyFQR2SUiySJyTy3r7xSRHSKyVUS+E5He1dZVikii47Wk5r5KNcbalCw6BfgQ3zXE3aE0mzGxYRgD6/ZmuzsU5UHqTfoi4gXMB84HBgJXisjAGpttBhKMMUOARcDj1dYVG2OGOl4zUMoF1qRkMSomFJvNc2eYOr1nR/x9bNrEo1zKmZr+SCDZGJNijCkDFgIzq29gjFlujKma7mctEOXaMJX6VWp2EWnHihnjoe35Vfy8vUjoHcraFE36ynWcSfo9gNRqn9Mcy+pyA/BFtc/+IrJBRNaKyEW17SAiNzu22XD06FEnQlLt2ZqUqvZ8z+ufX9OY2DB2Hsknq6DU3aEoD+FM0q/t+rnWGR5EZDaQADxRbXEvY0wCcBXwlIjEnlSYMQuMMQnGmISIiAgnQlLt2do9WYQF+tKvS5C7Q2l2Vb2TtF1fuYozST8N6FntcxRwqOZGIjIFuB+YYYw5Xi0xxhxy/JsCfA8Ma0K8qp0zxrAmJYvRfcIQ8dz2/CpDojoS4Oul7frKZZxJ+uuBviISIyK+wBXACb1wRGQY8AJWws+otryziPg53ocD44AdrgpetT/7s4o4nFvCaA/uqlmdj2ME0TXarq9cpN6kb4ypAG4DvgKSgPeNMdtF5FERqeqN8wQQBHxQo2tmPLBBRLYAy4G/G2M06atGO96e7+E3casbExtGckYBGfkl7g5FeQBvZzYyxiwFltZY9lC191Pq2G81MLgpASpV3Zo9WUQE+xEbEejuUFpM1QlubUo2M07v7uZoVFunT+SqNqO9tedXGdQ9hGA/b23XVy6hSV+1GSmZhRzNL21XTTsA3l42RsaEsk7b9ZULaNJXbUZ7GG+nLmNiw0jJLCQ9T9v1VdNo0ldtxpqULLqG+BMdFuDuUFpcVX99beJRTaVJX7UJxhjWpWQxJrZ9tedXGdgthI4dfDTpqybTpK/ahN0ZBWQWlLW79vwqNpswMkb766um06Sv2oT23J5fZUyfMA5kF3Ewp9jdoag2TJO+ahPW7MmiR6cO9Axtf+35VapOeNrEo5pCk75q9ex2w9q9We26lg/Qv0swnQO0XV81jSZ91ertPJJPTlG5x86H6yybTRjdJ4y1KVkYU+tAt0rVS5O+avV+HT+/fSd9sH4GB3OKSc3Wdn3VOJr0Vau3NiWLXqEB9OjUwd2huN2v4/BoE49qHE36qlWrtDv657fzpp0qcZFBhAf5addN1Wia9FWrtv1QLnklFdq04yAijIkNY1Vyprbrq0bRpK9atZXJmQCMi/P8+XCdNT4ujIz8UpIzCtwdimqDNOmrVm1VciYDugYTEezn7lBajaoTYNUJUamGcCrpi8hUEdklIskick8t6+8UkR0islVEvhOR3tXWzRGR3Y7XHFcGrzxbSXkl6/cd01p+DVGdA4gOC2BVsrbrq4arN+mLiBcwHzgfGAhcKSIDa2y2GUgwxgwBFgGPO/YNBR4GRgEjgYdFpLPrwleebOP+Y5RV2BmvSf8k4+LCWZuSRUWl3d2hqDbGmZr+SCDZGJNijCkDFgIzq29gjFlujClyfFwLRDnenwd8Y4zJNsYcA74BpromdOXpViZn4u0YaMxtKkqhJK/2l73SbWGNjwunoLSCLWm5botBtU3OzJHbA0it9jkNq+ZelxuAL06xb4+aO4jIzcDNAL169XIiJNUerErOZHivzgT6OTWVc9OUFcLRXY5XkuPfnXBsP1BHLxkvPwjvBxH9IWIARA6w/u0cA17NG7M1xLT1MxrRWy+elfOc+c2sbfDyWv8KRGQ2kACc1ZB9jTELgAUACQkJ2g9NkVNUxs8Hc/nD5H69oHedAAAgAElEQVTNd5D8dNj5KexYAvtWgnHU3G0+EN4Xug+DIVeAX3AtOxsoSIeMnZD6E2xb9Osqv47QfyoMnAmxk8DH9Q+VdQrwZXCPjqxMzuT2yX1dXr7yXM4k/TSgZ7XPUcChmhuJyBTgfuAsY0xptX3PrrHv940JVLUva/ZkYQyM7+vi/vm5aZDkSPQH1gAGwuJg7O+hxwirph4aA14+DSu3tAAyd1kngf2rYednsPU98AmEfudaJ4C4c8AvyGVfZVxcOC+tSKGwtKJlroaUR3DmN2U90FdEYoCDwBXAVdU3EJFhwAvAVGNMRrVVXwF/q3bz9lzg3iZHrTzeyuRMgvy8GRLVyTUFpv4EK/4Jv3xpfY4cCGffA/EzIDIemjobl1+QddLoMQKGXQ2VT8G+FdbJZednsP1j8AmAEdfD2NsgpHuTv9L4uHCe+34PP+3LZmL/yCaXp9qHepO+MaZCRG7DSuBewCvGmO0i8iiwwRizBHgCCAI+cExld8AYM8MYky0if8U6cQA8aozJbpZvojzKquRMRvcJxcerCY+SGAMpy2HFv6wE3CEUzvozDP4NhMe5LtjaePlYTTuxk+CCf1pXFZvehHXPw08LYOhVMO4OCItt9CFG9O6Mn7eNVbszNekrpzl1TWiMWQosrbHsoWrvp5xi31eAVxoboGp/UrOL2JdVxJyx0Y0rwG6HXZ9bNftDmyG4G5z3NxhxHfgGujJU59i8IHq89Zp4L6x6Gja/BZvfhEGXwIQ7ocugBhfr7+NFQnRnfUhLNYg+katandV7rCTWqP75BzfBixPhvdlQnAMX/gfu2AJjbnVPwq+pczRM/xf8YSuMuc1qbnpuLCy+BQobnrzHxYWz80g+R/NL699YKTTpq1ZoZXIWkcF+xEU24KZncQ58/id4cRLkH4aLX4DbNli1e+9WOIRDcFc496/wh59h3B+sm77/HQEbX7OuVJxUdWKsOlEqVR9N+qpVsdsNq5MzGR8Xjjhzc9UY2PIePJMAG16BUb+F29bD6Vc0e195lwgIhXP+AvNWQZfT4NM74JVz4fBWp3Yf1L0jHTv4sEqbeJSTNOmrVmXnkXyyCsucG2/n6C/w+oXw8c3QqRfctBzO/wf4d2z+QF0tcgBc9xlc9Dxk74UFZ8GX90Jp/il387IJY2PDWLlbh1pWztGkr1qVVc4MpWwMrH8ZXpgAR7bC9H/DDd9A96EtFGUzEYGhV8LvHc1Sa5+D5yfAwY2n3G1cXDiHckvYl1V0yu2UAk36qpVZmZxJXGQQXTv6175B8TF4/1r4/E7oPQ5uXQ8Jc60eMp6iQ2frRHb9F2CvgJfPtXr81NHWP16HWlYNoElftRqlFZX8tDe77l47B9ZaNd9dS+Gcv8LViyC4S8sG2ZJ6j4F5K6D/+fDNg/D2LCjIOHmzMGv+4FW7Nemr+mnSV63G5gM5FJdXnty0Y6+EH56AV6dZNfobvoZxt4OtHfz6dugMv3kTLvgX7F8Fz42DPctO2EREGB8Xzuo9mVTatV1fnVo7+KtRbcWq5Ey8bMKoPtWGUi7MhDdmwvL/hdMugd+usIY6aE9E4IwbrBvVAaHw5sXw3aMnDO08rm84eSUVbDuoQy2rU9Okr1qNlcmZnB7VkRB/x2Bn6dthwURIWw8z58MlL4J/iHuDdKcuA63EP+wa62njhVcf790z1jFxvLbrq/po0letQl5JOVvTcn9tz9/5uXUDs7IMrl8Kw2Y3fVA0T+AbADP+C9OehN1fWz+jY/sID/IjvluIPqSl6qVJX7UKq5OzqLQbq8ZaVYsN7wc3f9/+mnPqIwIjb4LZH0LeQetqaN8qxseFsX7fMYrKKtwdoWrFNOmrVmHZznTC/e2M3Pxnq736tEutGn5IN3eH1nrFTnS084fBGzO43LaMsgo7K7UXjzoFTfrK7ex2Q2LSbhb5P4Zt2yKY9CBc+lKzzDjlccJi4cZvIeYs4tbdz1/93mJ50mF3R6VaMU36yu12JW3hxfJ7iSrfB5e/BWfepe33DdGhE1z1Poz6HdfIUqZsvxd7WbG7o1KtlCZ95V6HNtN78UUESxFFV3wM8Re6O6K2ycsbzv87Wwf9D5PNGopeuQhKtPumOplTSV9EporILhFJFpF7all/pohsEpEKEZlVY12liCQ6XktcFbjyAHuWwWvTya/04S8R/yak7xh3R9TmRU27mz+U30qH9A3Ww2x52tSjTlRv0hcRL2A+cD4wELhSRAbW2OwAcB3wTi1FFBtjhjpeM5oYr/IUPy+Ct39DeUgvLix6mPjB2kPHFUIDfUmLms4jQY/AsX1Wl87MZHeHpVoRZ2r6I4FkY0yKMaYMWAjMrL6BMWafMWYr4PzsD6r9WjMfPrwBeo5i8dCXyKAzkwfoHK+uMik+kjeP9iHrso+gvMganz/t1CN1qvbDmaTfA0it9jnNscxZ/iKyQUTWishFtW0gIjc7ttlw9OjRBhSt2hRj4Nu/wFf3QfwMmP0hXyYX0TO0Q8NmyVKnNHmANQjd18e6WeMU+QXD69Nhz3I3R6ZaA2eSfm3dKBoyqlMvY0wCcBXwlIjEnlSYMQuMMQnGmISIiIgGFK3aDLsdvrwHVv7LGiv+stcoNj6sTM5k8oAuzs2SpZzSr0sQPTp14LukDKtL59yvIbQPvHM57PrC3eEpN3Mm6acBPat9jgIOOXsAY8whx78pwPfAsAbEpzyBvRI+/T2se96aDHz6U2DzYk1KJqUVdibHa9OOK4kIU+IjWZWcSUl5pTX89JxPocsga8L4bR+6O0TlRs4k/fVAXxGJERFf4ArAqV44ItJZRPwc78OBccCOxgar2qDKcvjoJtj8Fpz1Zzj3f4/3wf8uKYNAXy9GxoTWU4hqqEnxXSgur2RNSpa1ICAUrv0EokbChzda/x+qXao36RtjKoDbgK+AJOB9Y8x2EXlURGYAiMgZIpIGXAa8ICLbHbvHAxtEZAuwHPi7MUaTfntRXmLNcrXtQzjnUZh43/GEb4xh2c4MJvSNwM/bg2a9aiVGxYQS4OvFd0npvy70D7HG6+lzNnxyK6xb4K7wlBt5O7ORMWYpsLTGsoeqvV+P1exTc7/VwOAmxqjaorJCa9C0lOXWiJAjbzph9Y7DeRzOLeGP52jTTnPw9/FifFw4y5IyMDPNr/dMfAPgyoXwwfXwxf9AeSGM/6N7g1UtSp/IVa5Xmg9vzYK9P8BFz52U8AGWJWUgAhP7a9JvLlPiu3Aot4SdR/JPXOHtB795HU6bBd8+Asv/ZvWsUu2CUzV9pZxWkmfN5Zq2wRo07bRLa93s250ZnB7ViYhgvxYOsP04e4DVE+67pHTiu9WYfMbLBy5ZAD7+8MM/rAnYJz2oYx61A1rTV65TnANvXgQHN8Jlr9aZ8I/ml7IlNUcfyGpmkcH+nB7Vke92njyZOmDNN3zhf60utCv+Cd88pDX+dkCTvnKNomxrLtvDW+E3b8DAmXVuunyXlYQmx3dpqejarcnxXUhMzSGzoLT2DWw2uODfcMaNsPpp68E5TfweTZO+arqibHhjBmTssIZGHnDBKTdflpRBt47+xHcLbqEA269JAyIxBr7fdYon3W0262b7qHmw9ln44m5N/B5Mk75qmsJMeG06HP0FrngX+k895ealFZWs2H2USQMi9SncFjCoewhdQvxO7LpZGxGY+nfr4bmfFsDnd1pPUSuPozdyVeMVZMDrM+DYXrhqIcROqneXdSnZFJZV6lO4LUREmDSgC0sSD1JWYcfX+xT1PBHr4TmbN6x6yrq5O/0/1pWA8hj6v6kaJz/dquEf22fN2uREwgf4YtsROvh4MTY2vHnjU8edMzCSwrJKViY7MZihCEx5BCbcBZvegCW/t4bRUB5Da/qq4fKPwOsXQm4azF4E0eOd2q2sws7Snw9z7qAu+PvoU7gtZXxcBJ0CfFi8+RCTBjhx81wEJj1g1fh/+DsYO8x8xurto9o8TfqqYfIOWQk/77D1SH/vsU7v+v2uDHKLy7loWENG5lZN5ett44LB3fho00EKSysI9HPiz14EJt4LYoPv/2Yl/oue1cTvAbR5Rzkv9yC8doFV07/mowYlfIBPEg8RFujLhDht2mlpFw3rQXF5JV/vONKwHc/+s1Xr37oQPv4tVFY0T4CqxWjSV87JTbMSfsFRmP0R9BrdoN3zS8r5Nimd6UO64e2lv3YtbUSvzvTo1IHFm50eFf1XZ/4PTH4Yfv4APr5ZE38bp399qn45B6yEX5QF13wMvUY1uIgvtx2htMLOTG3acQubTZg5tDsrkzPrflDrVCbcaY2Uuu1D+HCuNWS2apM06atTy94Lr06D4mNwzWLoeUajivkk8RC9wwIY1rOTiwNUzrpoWA8q7YbPtjSitg8w7g449zHY8Ql8cB1UNOLkodxOk76qW2aylfDLCuDaJRA1olHFpOeVsHpPJjNP764PZLlRvy7BxHcLYXFiI5M+wNjb4PwnYOdn8N411pwJqk3RpK9qd3QXvDYNKstgzmfQfWiji/p0yyHsBm3aaQUuHtadxNQc9mYWNr6QUTdbU17u/goWXgllRa4LUDU7p5K+iEwVkV0ikiwi99Sy/kwR2SQiFSIyq8a6OSKy2/Ga46rAVTNK327V8AGu+xy6ntak4hYnHmRwj47ERgS5IDjVFDNO74EIfJJ4sGkFJVwPM+fDnuXwzm+sSXNUm1Bv0hcRL2A+cD4wELhSRAbW2OwAcB3wTo19Q4GHgVHASOBhEenc9LBVszm8xXrS1ssXrlsKkQOaVFxyRgHbDuYxc2h3FwWomqJrR39Gx4TxSeIhTFMHVRs2Gy5+AfavsibNKc2vfx/lds7U9EcCycaYFGNMGbAQOGHcXGPMPmPMVqDmCE3nAd8YY7KNMceAb4BTj8il3Cdto/XglW8gXP85hMc1uchPEg9iE5hxuib91uKiYd3Zm1nI1rTcphd2+uVw6cuQug7evNiaU0G1as4k/R5AarXPaY5lznBqXxG5WUQ2iMiGo0edGB9Eud7eFdbwyB06W006oX2aXKQxhk8SDzE2NpzIEH8XBKlcYepp3fD1srG4qU08VU67xJp+8VCidZVYoH/DrZkzSb+27hbOXhc6ta8xZoExJsEYkxAREeFk0cplfvnKmuKwYxRc/yV07u2SYjcdyOFAdpE27bQyHTv4MGlAJJ9uOUxFpYuGT46/0BppNSsZXj3fephPtUrOJP00oGe1z1GAs32+mrKvagnbPoSFV0HEAKsNP6Sby4r+JPEgft42pp7W1WVlKte4aFh3MgtKWb0ny3WFxk2xhucoSIdXzoesPa4rW7mMM0l/PdBXRGJExBe4AljiZPlfAeeKSGfHDdxzHctUa7DpDVh0A0SNhDmfQmCYy4our7Tz2dbDTBnYhWB/H5eVq1zj7P6RhPh7u66Jp0rvsdbvUlmBVeNP3+Ha8lWT1Zv0jTEVwG1YyToJeN8Ys11EHhWRGQAicoaIpAGXAS+IyHbHvtnAX7FOHOuBRx3LlLutmW+NlR432Rot0z/EpcWv3J1JdmEZFw3Vvvmtkb+PF9MGd+OrbUcoLnPxePndh8L1X1gjdL42DQ5udG35qkmc6qdvjFlqjOlnjIk1xjzmWPaQMWaJ4/16Y0yUMSbQGBNmjBlUbd9XjDFxjterzfM1lNOMgWWPWRNgx8+wpjj0DXD5YRZtSqNTgA9n9dN7NK3VzKE9KCyr5KvtDRx50xmRA6zE7xdiza6W8oPrj6EaRZ/IbU8qK+DT2+HHx2HobJj1Knj7uvwwB3OK+XLbES4dHnXq6fmUW42KCaVPRCCvrNrb9D77tQmNgblfQsee8Nal1v0j5Xb6F9lelBXBe7OtdvwJd1kzIXk1zxw6r63aC8Dc8THNUr5yDZtNuGF8DFvTcvlpbzO1uoZ0h7lfQNQZsGgurHm2eY6jnKZJvz0oyrb64P/yJUx7EiY/aM2M1AzyS8pZ+FMq0wZ3o0enDs1yDOU6lw6PIjTQlxdX7G2+g3TobA3JHX8hfHUvfP0g2F3UVVQ1mCZ9T5dzAF4+Fw5vhd+8ASNvatbDvbc+lfzSCm6aoLX8tsDfx4vZo3vz3c509hwtaL4D+fjDZa/DGTfC6qdh8TyoKGu+46k6adL3ZEe2wUvnQGEGXLsYBs5o1sOVV9p5ZeVeRsWEMiRKx81vK64d0xsfLxsvr2zG2j5Y8+tOe9Ix/eJ78O7lOl6PG2jS91S/fA2vTLW6zV3/ZYPns22MpT8f5lBuCTdNaPoQDqrlhAf5cenwHny4MY2sxsyq1RAi1vSLM+dbPXpemQo5qfXvp1xGk76nMcbqg//u5VbviRu/hS41B0VtjsMaXlqxlz4RgUwaENnsx1OudcP4PpRW2Hlr7YGWOeCw2XD1B1bz44uTIHV9yxxXadL3KJXl8OkdVh/8ARc4usu1zMNR6/Zm8/PBXG4c3webTWfHamviIoOYNCCSN9bso6TcxQ9r1XnQyValxDfAmoP550Utc9x2TpO+pyjKtoa23fQ6jL8TLnvDGiK5hbz4Ywphgb5cMlyfwG2rbpwQQ1ZhGR9vdvHQDKcS0R9uXAZRCfDhDbD8b9qzp5lp0vcEmcnw0hRrTPOLnocpD4Ot5f5rkzMK+G5nBrNH98bfx6vFjqtca0yfME7rEcJLK1Kw25vhYa26BIbBNYutBwZ/+Ad8OBfKi1vu+O2MJv22btcX8NIkKMmxJi8femWLh/Dyyr34edu4ZoxrhmRW7iEi3DShD3uOFvL9Lxkte3BvX+uBwXMehe2L4ZXz4Ni+lo2hndCk31bZK+G7R+HdK6BzNNy0DHqPafEwMgtK+WhTGpcMjyI8yK/Fj69ca9rgbnTr6M+LPzZz983aiMC4O+DKhVbCf+EsqxeacilN+m1RwVGr/X7FP2H4tTD3ayvxu8Gba/ZTWmHnBh1ywSP4eNm4flw0a1Ky2HbQBdMpNkb/qXDzD9CpJ7xzmTVAoL2Fbi63A5r025rU9fDCmVb7/YxnYMZ/racd3SCnqIzX1+xj8oBI4iKD3BKDcr0rRvYiyM+bp77d7b4gQmPghm+sdv4fH7cGbCt04YQv7Zgm/bbCGFi3wJqYwtsXbvgahl/j1pCe+GoX+SUV3HVef7fGoVwrxN+HWyfG8W1SOst3tnDbfnU+HeCi+VbFZv9qq7KTtsF98XgITfptQcFRa0rDL/7HmpLu5u+h2+luDWlrWg7v/HSAOWOiie/m2glYlPvdMD6GPhGBPPLp9pbrt1+X4ddalRybzbrB++MT2tzTBE4lfRGZKiK7RCRZRO6pZb2fiLznWL9ORKIdy6NFpFhEEh2v510bfjvwy1fw3BhI/g7O+z+44h1r1EI3stsNDy7eRligH384p69bY1HNw9fbxqMzTmN/VhELfkxxdzjWbFy//dGa+GfZ/8Kr07R3TyPVm/RFxAuYD5wPDASuFJGaz/XfABwzxsQB/wb+UW3dHmPMUMdrnovi9nxlRfDZnfDObyAwEm5eDmNuadH+93V5b0MqW9Jyuf+CAYTo/Lcea3zfcC4Y0o35y5NJzS5ydzhWZWfWK3DJi5CxA54bD4nvWE2fymnOZJCRQLIxJsUYUwYsBGbW2GYm8Lrj/SJgskgzDdjeHhzabLVfbngZxtxmdcfsMqj+/VrAscIy/vHlTkZGh+r8t+3AAxfE42UT/vJpK5ngXASG/AZ+twq6DYHFv4MP5lhPpCunOJP0ewDVh8FLcyyrdRvHROq5QJhjXYyIbBaRH0RkQm0HEJGbRWSDiGw4evRog76ARykvsbqnvTQFygrh2k/gvMfc1junNo87bt4+etEg9Lzu+bp17MDtk/vybVI6y3amuzucX3XqBXM+hSl/gZ1L4dkxkPSpu6NqE5xJ+rX9Zde8nqprm8NAL2PMMOBO4B0ROemunzFmgTEmwRiTEBHRTifSTvkBnhtrdU8bdIlVk+lztrujOsGW1BwWrj/AdWOjGdBVb962F3PHxRAbEcgjS3a4/6ZudTYvGP8HuOk7CIywpgN99yrITXN3ZK2aM0k/DehZ7XMUcKiubUTEG+gIZBtjSo0xWQDGmI3AHqBfU4P2KIVZ8PHvrOkMjd2aVu7SFyEg1N2RnaDSbnjwk22EB/nxhyl687Y98fW28ejM0ziQXcQLP7SCm7o1dTvduud1zqOwZxnMHwVrn9MePnVwJumvB/qKSIyI+AJXAEtqbLMEmON4PwtYZowxIhLhuBGMiPQB+gKt8LfGDYyBxHfhmQT4+X1rZMxb1kDsJHdHVqv31qeyNS2X+6fFE6w3b9udcXHhTB/SjWe/T+ZAViu4qVuTl481hMOta6HXaPjyHnhpMhze4u7IWp16k76jjf424CsgCXjfGLNdRB4Vkar5914GwkQkGasZp6pb55nAVhHZgnWDd54xRu+4HNxodTlbPA/C4qyuaFMeth5GaYUO5xbz+Fc7GRkTysyh3d0djnKTBy4YiJdNuH/xz1S25CicDdE5Gq5eBJe+bDXzLDgbPvsjFLjxIbNWRkwr6+6UkJBgNmzw0Kfuju23Bknbtshqg5x4Hwy/rlV0w6xLYWkFlz2/hgPZRSy+dSxxkcHuDkm50dvr9nP/x9u4aUIM91/Q/DOyNUnxMWt8/g2vgHcHq/1/9C3WpC0eSEQ2GmMS6tvOuyWCafeKc2Dlv2Dt81aXswl3WZei/q37Zmil3XDHwkR2Hsnj5evO0ISvuHpUb345ks+LK/bSJyKIK0f2cndIdevQGaY9ASNvhm8fgWV/tU4Akx6EIZe36spWc9Kk35zKimDja9Zj48XH4PQrYdIDLTaFYVP948udfJuUziMXDmRif533VlkenD6QfVlFPLh4G71CAxgXF+7ukE4tvC9c8TbsWwVf3281q659FiY/ZA1r0s66HrfPU11zK8mDlf+GpwbDV/dC18Hw2x/g4ufaTMJf+NMBFvyYwjWjezNnbLS7w1GtiLeXjf9eNYw+EYH87q2N7Dla4O6QnBM9zpqa8dKXravvt2fBgrOs/v3taIpGbdN3paJsWPcCrHvemskqdjKceRf0HuvuyBpk9Z5Mrn35J8bEhvHqdWfg7aV1A3Wy1OwiLpq/imB/bz6+ZRydA33dHZLzKspg63tWs2t2CkTEw4Q/waCLwattNoA426avSd8Vcg7ATy9a7YVlBTBguvUL1GO4uyNrsJSjBVz87Goig/348JaxOraOOqWN+7O58sV1DOvZiTdvGIWvdxurIFRWwI7F8OOTcDQJQvvA2N/D4N+AX9uaI0KTfnOz260HQda/BL98abULDrrYSvatZJychsosKOWy59eQW1zO4lvG0SvMM3s5KNf6JPEgdyxM5NLhUTw+awhetjbYRm63w66l1v23w4ngF2LdgzvjRohoG8+Tau+d5lKUDYlvw/qX4dheawTMM++CEddBxyh3R9doP6fl8ts3N5BVWMZbN47ShK+cNnNoD/ZmFvLUt7vJKizlP5cPo2NAG7tCtNkgfjoMuADS1ltX7htfhZ9egJgzreTff5r1EFgbpzV9Z1SUwu5v4OcPrFp9RQn0GmP9IsTPsGayasM+2pTGvR/9TFigLwuuTeC0Hh3dHZJqg95et59Hlmyne6cOvHhtAv26tPEuvgVHYfMbsOFVyE2FoC5w2qUweBZ0H97qev1o805T2Sth30or0e9YAqW5EBAOp10Cw+dA19PcHWGTlVfa+dvSJF5dtY/RfUKZf9VwwoL83B2WasM27Mtm3lubKCqr4J+Xnc75g7u5O6Sms1dakxklvg27v4bKMgiNhcGXWSeA8NYxFpUm/cYoL4a9K6za/K6lkH8YfIMg/kLrPzfm7DZ7Z7+mrIJSbn1nE2tTsrl+XDT3TYvHR3vpKBc4klvCvLc2kpiaw60TY7nznP5ts52/NsU5VhfPnz+AvT8Cxhrwrf806HcedD3dbQ99adJ3Vm6adRbf/bU1vHFFMfgEQuxE61Ku31SPe2x7bUoWf3p/C0cLSvm/iwdz6Yi2ey9CtU6lFZU8tHg7721I5ez+ETx28WB6dGqdY0s1Wt5h2P6x9UpbDxirCajvudYJoM/Z4NdyTVya9OuSdxj2r7Je+1ZB5i5reafeVoLvdx5Ejwdvz2vmSEzN4Z9f72LF7kx6dOrAc7OHMySqk7vDUh7KGMNb6w7wV8esW1eN6sUtE2OJDG49kwK5TGEmJH9rtRIkL7Oag20+EJVgPafTexz0HNWs3UA16YPVB/foTqsL1oE1VpI/ttda5xtsDcEac6aV6MP7tbobM66y41Ae//rmF75NSic00JffnRXL7NG96eDr5e7QVDuQdqyIZ5Yl88HGNHy8hDljo5l3ZmzbepirISrL4cBaSP7Gui94KBFMJYiXNcF773EQdQZ0H2b1+HNR3ml/Sb8qwR/abCX5Q4mQvs3qaQPg3+nXM270OOgy2GPa52tjjGH7oTye+2EPn289TLC/N789sw/XjYshyM9zv7dqvfZmFvKfb3/hky2HCPT1Zu74GGaP6kVkiAfW/KsrzYfUn35tXTi4Eezl1rqAMOg21DoZdBtqnQg69Tx1eXVof0k/Nw3+7XgoyjfYurnS7fRff5hhcR4/qp7dbth04BhfbT/Cl9uPkJpdTICvF3PHxXDThD5tr++08ki/pOfz729+4YttRxCB4b06c96gLpw3qCu9wwLdHV7zKy+G9O3VKqhbrKeB7RXWOF3zVjaq2PaX9I2xbqh0HWI9Su3hCR6s2nxGfik/p+WybFcG3+xI52h+KT5ewri4cM4b1JWpg7p67mW0atOSM/JZ+vMRvtx2hB2H8wAY0DWY8wZ1ZXzfcOK7hbSfq9LyEutEUF4EMRMaVYRLk76ITAX+A3gBLxlj/l5jvR/wBjACyAIuN8bsc6y7F7gBqARuN8Z8dapjtZp++q2IMYa8kgoO5RSz60g+Ow7nseNQHkmH88gqLAMgwNeLif0jOdruH3YAAAZ8SURBVHdQFyYOiNQxc1SbkppdxFfbj/DV9iNs2H+MqrTUOyyAgd1CGNgthPhuIfTtEkSXEH/8ffR+VE0uS/qOOW5/Ac7BmgB9PXClMWZHtW1uAYYYY+aJyBXAxcaYy0VkIPAuMBLoDnwL9DPG1DljsScm/Uq7obSikrIKO2UVdkodr5LySvJLKsgvKaegtIKC0grySyrILS4nPa+EI7klpOeVkJ5XSnH5rz8yX28b/bsEO/4QgonvFsLpPTvpH4LyCJkFpWxNy2HHoTx2HM4j6XA+ezMLT9imU4APXUP8iQzxp2uIH5HB/gT7exPk702wvw/Bftb7ID9v/Lxt+Hrb8PP2cvxrw9fLhs1Tnh1wcOXYOyOBZGNMiqPghcBMYEe1bWYCjzjeLwKeERFxLF9ojCkF9jrm0B0JrHH2izgrp6iMWc/XXuypTmymjg+m2n7W+6rlBmOsz3ZjsBvjeG99rqi0U2k3VBpj/Ws3NHQ6UV9vG11C/Pj/9u4vRKo6DOP499mdbQd017KN3dDVDMQ/WCCGBV4UKmEldtOF9gehC28UFJKovOs2qKCEkAqihBAqWoIwo24tzTQQLUQq1z+kCKmF2rhvF+fsMOruOqtz5rhzng/InjNzBp4fc3znPb9zZk5fd5kF06awfF6Z3u4yfVPKzOnr4v6eSf65Y2tZPZM7WTq3l6Vze6uPXbhU4ddT5zh6+p9qI3TqXNIUHT55jjMXLo37/1l7m2iXkr/pv1KbkESboC39KwkpuchGqHqxjUieG16u0oiLV9EoV+zMu7ebd9YsHN9Axqmeoj8NOFazPgg8PNo2EVGR9Ddwd/r47mtee91dRCStA9YBzJhxc7dfa28Tc8b6rY8xPtRrn6p9M5I3tXY5fYNrdwiUnj5Idpjanact3ak62tvo7Ei6i2qnUWqj3NFOV7lEV2dHtUsZ7kxG2ynMimhyZ4lFM6eyaObUEZ+PCP69fCU9Wv6P8xeTI+cLFytcqh5hX6keZV+uJM1ZZSjSZi24MjSUrgMEQ0PDjV1tszdSI3h1juryaIMZ48Op/67sv8BWT9EfqfpcG3u0bep5LRGxDdgGyfROHZmu01XuYOtzE+/3683s1kliUmeJSZ0lelv9EtBbVM8cwSBQe+HodODEaNtIKgFTgLN1vtbMzJqknqK/B5gtaZakO4DVwMA12wwAa9PlZ4DvIjnOGQBWS+qUNAuYDfzYmOhmZjZeN5zeSefoNwA7SS7Z/DAiDkp6HdgbEQPAB8DH6YnasyQfDKTb7SA56VsB1o915Y6ZmWWrdb6cZWZWYPVesunr/szMCsRF38ysQFz0zcwKxEXfzKxAbrsTuZJOA3/kneMm9ABn8g7RZB5zMXjME8PMiLjnRhvddkV/opK0t54z563EYy4Gj7m1eHrHzKxAXPTNzArERb9xtuUdIAceczF4zC3Ec/pmZgXiTt/MrEBc9M3MCsRFPwOSNksKST15Z8mapDckHZb0i6QvJN2Zd6YsSFoh6VdJRyS9kneerEnql/S9pEOSDkramHemZpHULulnSV/lnSULLvoNJqmf5Cbyf+adpUl2AQsi4kHgN+DVnPM0nKR2YCvwBDAfWCNpfr6pMlcBXoqIecAjwPoCjHnYRuBQ3iGy4qLfeG8BLzPmnTBbR0R8ExGVdHU3yd3RWs1i4EhEHI2Iy8CnwNM5Z8pURJyMiH3p8nmSInjd/a1bjaTpwFPA+3lnyYqLfgNJWgUcj4gDeWfJyYvA13mHyMA04FjN+iAFKIDDJN0HLAR+yDdJU7xN0rQN5R0kK/XcGN1qSPoW6BvhqS3Aa8DjzU2UvbHGHBFfpttsIZkS2N7MbE2iER4rxJGcpMnAZ8CmiDiXd54sSVoJ/BURP0l6LO88WXHRH6eIWD7S45IeAGYBByRBMs2xT9LiiDjVxIgNN9qYh0laC6wElkVrfvFjEOivWZ8OnMgpS9NI6iAp+Nsj4vO88zTBEmCVpCeBMtAt6ZOIeD7nXA3lL2dlRNLvwEMRMdF+qW9cJK0A3gQejYjTeefJgqQSyUnqZcBxYA/wbEQczDVYhpR0Lh8BZyNiU955mi3t9DdHxMq8szSa5/TtVr0LdAG7JO2X9F7egRotPVG9AdhJckJzRysX/NQS4AVgafq+7k87YJvg3OmbmRWIO30zswJx0TczKxAXfTOzAnHRNzMrEBd9M7MCcdE3MysQF30zswL5HyB/LXL0eIgnAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6869a790>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "x = np.linspace(-5,5)\n",
    "y = stats.norm.pdf(x, loc=0, scale=1)\n",
    "y1 = stats.norm.pdf(x, loc=0, scale=2)\n",
    "ax.plot(x,y,'-',label='pdf of norm with sigma = 1')\n",
    "ax.plot(x,y1,'-',label='pdf of norm with sigma = 2')\n",
    "ax.legend(loc='best',frameon=True)\n",
    "\n",
    "plt.title(r'Normal Distribution')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 性質：\n",
    "\n",
    "* $f(x)$關於$x = \\mu$對稱；\n",
    "* 當$x \\leq \\mu$時，$f(x)$ 時嚴格單調遞增函數；\n",
    "* $f_max = f(\\mu) = \\frac{1}{\\sqrt{2\\pi}\\sigma}$;\n",
    "* 當$X～N(\\mu,\\sigma^2)$時，$\\frac{X - \\mu}{\\sigma} \\sim N(0, 1)$\n",
    "<br>\n",
    "\n",
    "*利用第四點，我們在計算一般的正態分佈時，可以轉化成標準正態分佈進行計算*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6863ae50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def diff_normal_dis():\n",
    "\n",
    "    norm_dis_0 = stats.norm(0, 1)  # 标准正态分布\n",
    "    norm_dis_1 = stats.norm(0, 0.5)\n",
    "    norm_dis_2 = stats.norm(0, 2)\n",
    "    norm_dis_3 = stats.norm(2, 2)\n",
    "\n",
    "    x0 = np.linspace(norm_dis_0.ppf(1e-8), norm_dis_0.ppf(0.99999999), 1000)\n",
    "    x1 = np.linspace(norm_dis_1.ppf(1e-10), norm_dis_1.ppf(0.9999999999), 1000)\n",
    "    x2 = np.linspace(norm_dis_2.ppf(1e-6), norm_dis_2.ppf(0.999999), 1000)\n",
    "    x3 = np.linspace(norm_dis_3.ppf(1e-6), norm_dis_3.ppf(0.999999), 1000)\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    ax.plot(x0, norm_dis_0.pdf(x0), 'r-', lw=2, label=r'miu=0, sigma=1')\n",
    "    ax.plot(x1, norm_dis_1.pdf(x1), 'b-', lw=2, label=r'miu=0, sigma=0.5')\n",
    "    ax.plot(x2, norm_dis_2.pdf(x2), 'g-', lw=2, label=r'miu=0, sigma=2')\n",
    "    ax.plot(x3, norm_dis_3.pdf(x3), 'y-', lw=2, label=r'miu=2, sigma=2')\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of Normal Distribution')\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.show()\n",
    "\n",
    "diff_normal_dis()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 隨機變量的數字特徵（Numerical Characteristic）\n",
    "\n",
    "如果說一個隨機變量的分佈函數（累積分佈函數或概率密度分佈）是對隨機變量最完整，最具體的描述，那麼隨機變量的數字特徵就是對該隨機變量特徵的描述。分佈函數就如同一個人的全身像，而數字特徵就像一個人的局部特寫。\n",
    "\n",
    "#### 常見的數字特徵：\n",
    "\n",
    "* 數學期望（Expectation）\n",
    "* 方差（Variance）\n",
    "* 矩（Moments）\n",
    "* 協方差和相關係數（Covariance and Correlative Coefficient ）\n",
    "\n",
    "前面三個數字特徵都是耽擱隨機變量自身的特徵，第四個數字特徵則是表示兩個隨機變量之間的關係，其他數學特種還有中位數，眾數等等"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 數學期望（Matematical Expectation）\n",
    "\n",
    "一個隨機變量$X$的數學期望，簡稱期望，也叫做均值（Mean），記做E(X)。常見於隨機變量的定義中，都直接或間接包含了“期望”這個參數，該參數一般於分佈在座標軸上的位置有關。期望與我們平時說的平均值不多，體現的是隨機變量中的“大碩鼠”的取值情況或趨勢。\n",
    "<br>\n",
    "\n",
    "在計算中，隨機變量$X$的平均值E(X)並不等於一個具體樣本集$x$的均值E(x)$\\Rightarrow$計算一個具體樣本集的均值時，是將所有的值求和然後除以樣本個數，因為此時的$x$已經是一個具體的數列，而不再具有隨機性$\\Rightarrow$隨機變量$X$的均值是加權平均數。\n",
    "<br>\n",
    "\n",
    "例如，一個離散型隨機變量$X$的概率質量分佈列如下：\n",
    "<br>\n",
    "\n",
    "|X|0|1|2|3|4|\n",
    "|------|----|----|----|----|----|\n",
    "|P(X=x)|0.15|0.30|0.25|0.20|0.10|\n",
    "<br>\n",
    "\n",
    "那麼，根據定義，我們可以算出：$E(X) = \\displaystyle \\sum_{ i = 1 }^{ n } x_i p_i = 0 \\times 0.15 + 1 \\times 0.3 + 2 \\times 0.25 + 3 \\times 0.2 + 4 \\times 0.1 = 1.8$；如果我們從該隨機變量中取1個樣本集$x_1 = 1，1，2，4，4$，那麼$E(x_1) = \\frac{1 + 1 + 2 + 4 + 4}{5} = 2.4$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此外，正是定義中對期望是否存在給出了明確的定義：在求離散型隨機變量的期望時，需要其和式構成的級數是收斂的；在連續型隨機變量時，也有類似的要求。一個典型的例子：連續型隨機變量「柯西分佈」因為不滿足此條件，所以不具有均值，具體解釋可以參考：<a href\"http://web.ipac.caltech.edu/staff/fmasci/home/mystats/CauchyVsGaussian.pdf\"> Comparing the Cauchy and Gaussian (Normal) density function</a> 和 <a href=\"https://stats.stackexchange.com/questions/36027/why-does-the-cauchy-distribution-have-no-mean\"> Why does the Cauchy distribution have no mean ? </a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 期望的性質：\n",
    "\n",
    "* 設$c$為一個常數，則$E(c) = c$;\n",
    "* 設$X$是一個隨機變量，$c$是常數，則$E(cX) = cE(X)$;\n",
    "* 設$X,Y$是兩個隨機變量，則有$E(X + Y) = E(X) + E(Y)$；<br>\n",
    "\n",
    "將上面三個性質結合起來，則有：$E(aX + bY + c) = aE(X) + bE(Y) + c$，可以推廣到任意有限個隨機變量線性組合的情況；\n",
    "\n",
    "* 設$X,Y$是相互獨立的兩個隨機變量，則有$E(XY) = E(X)E(Y)$，可以推廣到任意有限個相互獨立的隨機變量之積的情況。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 常見分佈的期望\n",
    "\n",
    "下面這些分佈的期望是指隨機變量的期望，而不是某個隨機變量抽樣得到的樣本集的期望。在離散隨機變量中，數學期望的物理意義是「一維離散質點系的重心坐標“，在連續型隨機變量中，數學期望的物理意義是「一維連續質點系的重心坐標”。\n",
    "<br>\n",
    "\n",
    "* 0-1 分佈：$X～B(1,p), E(X) = p$;\n",
    "* 二項分佈：$X～B(n,p), E(X) = np$;\n",
    "* 泊松分佈：$X～P(\\lambda), E(X) = \\lambda$;\n",
    "* 幾何分佈：$X～G(p), E(X) = \\frac{1}{p}$;\n",
    "* 均勻分佈：$X～N(a, b), E(X) = \\frac{a+b}{2}$;\n",
    "* 正態分佈：$X～N(\\mu, \\sigma^2), E(X) = \\mu$;\n",
    "* 指數分佈，$X～E(\\lambda), E(X) = \\frac{1}{\\lambda}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 樣本均值的計算\n",
    "\n",
    "在實際的應用中，我們一般都是已知某個分佈的一組樣本，需要求這組樣本的均值。在計算時，定義中的平均值時算術平均值；還有一種是計算幾何平均值，及所有樣本值相乘後開$N$次方，$N$為樣本數。\n",
    "<br> \n",
    "\n",
    "算術平均值和幾何平均值最大的區別在於：如果樣本中有$0$存在，幾何平均值就等於$0$；如果樣本中不包含$0$，通常算數平均值$\\geq$幾何平均值。下面是 $Python$的實現方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 1  2  3  4  5  6  7  8  9 10]\n",
      "5.5\n",
      "[  1.   2.   3.   4.   5.   6.   7.   8.   9.  10.  nan]\n",
      "nan\n",
      "5.5\n",
      "[ 1  2  3  4  5  6  7  8  9 10]\n",
      "4.52872868812\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "## 计算平均值\n",
    "x = np.arange(1, 11)\n",
    "print(x)  # [ 1  2  3  4  5  6  7  8  9 10]\n",
    "mean = np.mean(x)\n",
    "print(mean)  # 5.5\n",
    "\n",
    "# 对空值的处理，nan stands for 'Not-A-Number'\n",
    "x_with_nan = np.hstack((x, np.nan))\n",
    "print(x_with_nan)  # [  1.   2.   3.   4.   5.   6.   7.   8.   9.  10.  nan]\n",
    "mean2 = np.mean(x_with_nan)\n",
    "print(mean2)  # nan，直接计算没有结果\n",
    "mean3 = np.nanmean(x_with_nan)\n",
    "print(mean3)  # 5.5\n",
    "\n",
    "## 计算几何平均值\n",
    "x2 = np.arange(1, 11)\n",
    "print(x2)  # [ 1  2  3  4  5  6  7  8  9 10]\n",
    "geometric_mean = stats.gmean(x2)\n",
    "print(geometric_mean)  # 4.52872868812，几何平均值小于等于算数平均值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 方差（Variance）\n",
    "\n",
    "一個隨機變量$X$的方差，刻畫了$X$取值的波動性，是衡量該隨機變量取值分散程度的數字特徵。方差越大，就表示該隨機變量越分散；方差越小，表示該隨機變量越集中。在實際應用中，例如常見的「QC」問題，如果一個工廠的出場的合格評分方差大，說明了優質品和劣質品都比較多，**出品不穩定**；相反，如果方差比較小，說明了合格品比較多，優質品和劣質品較少，**出品穩定**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 性質：\n",
    "1. 設$c$為常數，則$Var(c) = 0$；\n",
    "2. 設$X$是一個隨機變量，$c$是常數，則$Var(cX) = c^2 Var(X)$；特例，$D(-X) = D(X)$；\n",
    "3. 設$X, Y$是兩個隨機變量，則有$Var(X + Y) = Var(X) + Var(Y) + 2\\cdot tail$，其中，$tail = E[X-E(X)][Y-E(Y)]$. 特別的，如果$X, Y$相互獨立，則$tail = 0$\n",
    "4. $Var(X) = 0 \\Leftrightarrow P(X = c) =1,$ 且$c = E(X)$ ;\n",
    "5. 當$X, Y$相互獨立時，$Var(XY) = Var(X)Var(Y) + Var(X)[E(Y)]^2 +Var(Y)[E(X)]^2$\n",
    "<br>\n",
    "\n",
    "還有一個常用的計算方差的公式：$D(X) = E(X^2) - [E(X)]^2$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 常見分佈的方差：\n",
    "\n",
    "* 0-1 分佈：$X～B(1,p), Var(X) = p(1-p)$;\n",
    "* 二項分佈：$X～B(n,p), Var(X) = np(1-p)$;\n",
    "* 泊松分佈：$X～P(\\lambda), Var(X) = \\lambda$;\n",
    "* 幾何分佈：$X～G(p), Var(X) = \\frac{1-p}{p^2}$;\n",
    "* 均勻分佈：$X～N(a, b), Var(X) = \\frac{(b-a)^2}{12}$;\n",
    "* 正態分佈：$X～N(\\mu, \\sigma^2), Var(X) = \\sigma^2, (\\sigma > 0)$;\n",
    "* 指數分佈，$X～E(\\lambda), Var(X) = \\frac{1}{\\lambda^2}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 樣本方差的計算\n",
    "\n",
    "就如同計算均值一樣，通常我們的計算都是從某個分佈中抽樣得到的一組樣本的方差，樣本方差一般使用$S^2$表示，按照方差的定義：\n",
    "<br>\n",
    "<center>\n",
    "    $Var(X) = E{[X - E(X)]^2} = \\frac{1}{n} \\displaystyle \\sum_{i=1}^{n}(X_i - \\bar{X})^2$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "其中：$\\bar{X} = E(X)$。如果直接用上面的公式計算$S^2$，等同於使用樣本的二階中心距。但是樣本的二階中心距並不是隨機變量$X$這個總體分佈的無偏估計，將上式中的$n$換成$n-1$就得到了樣本方差計算公式，這也是總體方差無偏估計。\n",
    "<br>\n",
    "<center>\n",
    "    $S^2 = \\frac{1}{n - 1} \\displaystyle \\sum_{i=1}^{n}(X_i - \\bar{X})^2$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "從直觀來說，由於樣本方差中多了一個約束條件 ——樣本的均值時固定的，$E(X) = \\bar{X} \\Rightarrow $如果已知$n-1$樣本，那麼根據均值可以直接計算出第$n$哥樣本的值，因此自由度比計算總體方差的時候減少了$1$個。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 7  8  9 10 11 12 13]\n",
      "4.0\n",
      "4.66666666667\n",
      "2.0 2.16024689947\n",
      "4.0 4.66666666667\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "# 参考\n",
    "# https://docs.scipy.org/doc/numpy/reference/generated/numpy.std.html\n",
    "# https://docs.scipy.org/doc/numpy/reference/generated/numpy.var.html\n",
    "\n",
    "\n",
    "data = np.arange(7, 14)\n",
    "print(data)  # [ 7  8  9 10 11 12 13]\n",
    "\n",
    "## 计算方差\n",
    "# 直接使用样本二阶中心距计算方差，分母为n\n",
    "var_n = np.var(data)  # 默认，ddof=0\n",
    "print(var_n) # 4.0\n",
    "# 使用总体方差的无偏估计计算方差，分母为n-1\n",
    "var_n_1 = np.var(data, ddof=1)  # 使用ddof设置自由度的偏移量\n",
    "print(var_n_1) # 4.67\n",
    "\n",
    "\n",
    "## 计算标准差\n",
    "std_n = np.std(data, ddof=0)\n",
    "std_n_minus_1 = np.std(data, ddof=1)  # 使用ddof设置自由度的偏移量\n",
    "print(std_n, std_n_minus_1)  # 2.0, 2.16\n",
    "print(std_n**2, std_n_minus_1**2)  # 4.0, 4.67"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 矩\n",
    "\n",
    "矩是一個非常廣泛的概念，期望和方差都是矩的特例。<br>\n",
    "\n",
    "##### 定義：\n",
    "\n",
    "* 若$E(X^k), k = 1, 2, \\dots $存在，則稱$E(X^k)$為$X$的$k$階原點矩，記做$\\alpha_k = E(X^k)$；\n",
    "* 若$E[X - E(X)]^k, k = 1, 2, \\dots$存在，則稱$E[X-E(X)]^k$為$X$的$k$階中心距，記做$\\beta_k = E[X-E(X)]^k$ \n",
    "\n",
    "根據定義，期望$E(X)$ 是1階原點矩，方差$D(X)$是2階中心距。需要注意的是，就跟上面提到的一樣，樣本的2屆中心距並不是總體方差的無偏估計，樣本方差$S^2$的時機計算公式中分母為$n-1$，而不是樣本2階中心距中的$n$。\n",
    "<br>\n",
    "\n",
    "**符號說明**：\n",
    "\n",
    "* 總體k阶原點矩：$α_k$;\n",
    "* 總體k阶中心矩：$β_k$;\n",
    "* 樣本k阶原點矩：$A_k$;\n",
    "* 樣本k阶中心矩：$B_k$;"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 協方差（Covariance）\n",
    "\n",
    "上面介紹了幾種隨機變量的數字特徵都是描述耽擱隨機變量拘捕性質的量，協方擦好和相關係數則是用來度量兩個不同的隨機變量之間的相關程度。<br>\n",
    "\n",
    "##### 協方差\n",
    "\n",
    "如上面介紹方差的性質時，第(3)條提到的那樣：\n",
    "<br>\n",
    "\n",
    "設$X, Y$是兩個隨機變量，則有$ Var(X + Y) = Var(X) + Var(Y) + 2\\cdot tail$，其中，$tail = E[X - E(X)][Y - E(Y)].$ 特別的，若$X, Y$相互獨立，那麼$tial = 0$，那麼$tail$不等於$0$，就代表了這兩個隨機變量不相互獨立。$tail$就是$X$與$Y$的協方差。\n",
    "\n",
    "##### 定義：\n",
    "\n",
    "數值$E[X-E(Y)][Y-E(Y)]$為隨機變量$X$與$Y$的協方差，記做$Cov(X,Y)$，即：\n",
    "<br>\n",
    "<center>\n",
    "    $Cov(X, Y) = E{[X - E(X)][Y - E(Y)]}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "此時，$Var(X + Y) = Var(X) + Var(Y) + 2Cov(X,Y)$，協方差$Cov(X, Y)$反映了隨機變量的$X$與$Y$的線性相關性： <br>\n",
    "\n",
    "* 當$Cov(X,Y0 > 0$時，稱$X$與$Y$正相關；\n",
    "* 當$Cov(X,Y0 < 0$時，稱$X$與$Y$負相關；\n",
    "* 當$Cov(X,Y0 = 0$時，稱$X$與$Y$無關；\n",
    "\n",
    "協方差的計算公式可以簡化成：$Cov(X,Y) = E(XY) - E(X)E(Y)$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 相關係數\n",
    "\n",
    "協方差時有量綱的數字特徵，為了消除其量綱的影響，引入了相關係數，在平時的數據分析中協方差很少出現，先港係數出現的頻率非常高。\n",
    "<br>\n",
    "<center>\n",
    "    $\\rho_{XY} = \\frac{Cov(X, Y)}{\\sqrt{D(X)D(Y)}}$\\\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "稱為隨機變量$X$與$Y$的相關係數。\n",
    "\n",
    "##### 相關係數的性質\n",
    "\n",
    "* $|\\rho XY|\\leq 1$（相關係數的值位於區間[-1,1]）；\n",
    "* $|\\rho XY| = 1 \\Rightarrow$ 存在常數$a,b$使得$P(Y = a+bX)=1$. 特別的，$\\rho XY = 1$時，$b > 0$；$\\rho = 1$時，$b < 0$. 與協方差，相關係數也是用來表徵兩個隨機變量之間線性關係密切程度的特徵數，有時也稱為「線性相關係數」"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 樣本均值的期望和方差\n",
    "\n",
    "設隨機變量$X$的一組樣本為$x$，則樣本的矩陣$\\bar{x} = \\frac{1}{n} \\displaystyle \\sum_{i=1}^{n}x_i$。此時的樣本$x$與樣本均值$\\bar{x}$都是確定的數值，不具有隨機行。但是，如果我們卻了很多組樣本L：$x^{(1)}, x^{(2)}, ...$那麼這些樣本的均值$\\bar{x}^{(1)}, \\bar{x}^{(2)}, ...$就可以組成一個新的隨機變量，可以記做$\\bar{X}$，每一個樣本均值也可以看作從該隨機變量中抽樣所得。<br>\n",
    "\n",
    "樣本均值$\\bar{X}$這個隨機變量時隨機變量$X$的函數。根據期望和方差的定義，我們可以求出樣本均值的期望和方差。<br>\n",
    "假設隨機變量$X$的期望和方差分別是：$\\mu$和$\\sigma^2$\n",
    "\n",
    "* E($\\bar{X}$) = $\\mu$，樣本均值的期望與原隨機變量的期望相同；\n",
    "* Var($\\bar{X}$) = $\\frac{\\sigma^2}{n}$，其中$n$為每次取樣的樣本量，\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.99008474793 -0.0208546895623\n",
      "1.00750814281 0.00347718092382\n",
      "0.672067720702 0.00687662521186\n",
      "0.503784014261 0.00284508641179\n",
      "0.20016653808 0.000791586359448\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy import stats\n",
    "\n",
    "def mean_and_std_of_sample_mean(ss=[], group_n=100):\n",
    "    \"\"\"\n",
    "    不同大小样本均值的均值以及标准差\n",
    "    \"\"\"\n",
    "    norm_dis = stats.norm(0, 2)  # 定义一个均值为0，标准差为2的正态分布\n",
    "    for n in ss:\n",
    "        sample_mean = []  # 收集每次取样的样本均值\n",
    "        for i in range(group_n):\n",
    "            sample = norm_dis.rvs(n)  # 取样本量为n的样本\n",
    "            sample_mean.append(np.mean(sample))  # 计算该组样本的均值\n",
    "        print(np.std(sample_mean), np.mean(sample_mean))\n",
    "\n",
    "sample_size = [1, 4, 9, 16, 100]  # 每组试验的样本量\n",
    "group_num = 10000\n",
    "mean_and_std_of_sample_mean(ss=sample_size, group_n=group_num)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 樣本均值的期望和方差\n",
    "\n",
    "設隨機變量$X$的一組樣本為$x$，則樣本的均值$\\bar{x} = \\frac{1}{n} \\displaystyle \\sum_{i=1}^{n}x_i$。此時的樣本$x$與樣本均值$x$都是確定的數值，不具有隨機行。但是，如果我們取了很多組樣本：$x^{(1)}, x^{(2)}, ...$那麼這些樣本的均值$\\bar{x}^{(1)}, \\bar{x}^{(2)}, ...$就可以組成一個新的隨機變量，可以記做$\\bar{X}$，每一個樣本均值也可以看做是從該隨機變量中抽樣所得。<br>\n",
    "\n",
    "樣本均值$\\bar{X}$這個隨機變量$X$的函數。根據期望和方差的定義，我們可以求出樣本均值的期望和方差。假設隨機變量$X$的期望和方差分別為$\\mu$和$\\sigma^2$\n",
    "* $E(\\bar{X}) = \\mu$，樣本均值的期望與原隨機變量的期望相同；\n",
    "* $D(\\bar{X}) = \\frac{\\sigma^2}{n}$，其中$n$ 為每次取樣的樣本量，這裡的$n$不表示樣本組數，而是單組中的樣本量；樣本組數在這裡並沒有體現。這是因為**$\\bar{X}$的随机性是在获取单组样本时体现出来的（即结果的不确定性），跟组数无关（当每组样本获得之后，数据就不在具有随机性了）。由此可见，每次采样的样本量越多，得到的样本均值的方差也越小，也就表示更加准确，但是取样所用的时间和成本也同时增加了。这就需要在准确型和成本之间做一个权衡。<br>\n",
    "\n",
    "<br>\n",
    "下面用程序做一個測試，測試的是樣本均值的標準差隨著樣本量的變化而發生的變化，如果方差縮小$n$倍，那麼理論上標準差會縮小$\\sqrt n$倍。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.99183803618 0.0461229296359\n",
      "1.00674682296 0.0177540329668\n",
      "0.668143024892 0.00299211910315\n",
      "0.498323040688 -0.00523627140067\n",
      "0.201260608929 0.00134588313727\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy import stats\n",
    "\n",
    "def mean_and_std_of_sample_mean(ss=[], group_n=100):\n",
    "    \"\"\"\n",
    "    不同大小样本均值的均值以及标准差\n",
    "    \"\"\"\n",
    "    norm_dis = stats.norm(0, 2)  # 定义一个均值为0，标准差为2的正态分布\n",
    "    for n in ss:\n",
    "        sample_mean = []  # 收集每次取样的样本均值\n",
    "        for i in range(group_n):\n",
    "            sample = norm_dis.rvs(n)  # 取样本量为n的样本\n",
    "            sample_mean.append(np.mean(sample))  # 计算该组样本的均值\n",
    "        print(np.std(sample_mean), np.mean(sample_mean))\n",
    "\n",
    "sample_size = [1, 4, 9, 16, 100]  # 每组试验的样本量\n",
    "group_num = 10000\n",
    "mean_and_std_of_sample_mean(ss=sample_size, group_n=group_num)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "具體的證明過程，可以參考<a href=\"https://onlinecourses.science.psu.edu/stat414/node/167\">Mean and Variance of Sample Mean</a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Chapter Two Statistics \n",
    "\n",
    "### 大數定理與中心極限定理\n",
    "\n",
    "這兩個定理可以說是概率論中最重要的兩個定理，也是因為中心極限定理的存在，才使得正態分佈稱為應用最為廣泛的分佈。\n",
    "\n",
    "#### 大數定理（Law of Large Numbers, LLN）\n",
    "\n",
    "大數定理可以說是整個數理統計學的一塊基石，最早的大數定理是由伯努利在他的著作中提出並給予證明的。數理統計中包含了兩類問題$\\Rightarrow$對於概率$p$的檢驗和估計。大數定律的本事是一類極限定理，它是由概率的統計定義“頻率收斂與概率“引申而來。簡單的說就是$n$個獨立同分佈的隨機變量的觀察值的均值$\\bar{X}$依概率收斂與這些隨機變量所屬分佈的理論均值，也就是總體均值。<br><br>\n",
    "假設我們現在有兩種大小質地相同的球：紅球a個，白球b個，放入一個盒子，隨機抽出一個球，這個球是紅球的概率$p = \\frac{a}{a+b}$。但是，如果我們不清楚$a$和$b$，則無法得出$p$，這時，我們可以反覆的抽球（有放回）。設我們抽了$N$次，發現白球出現了$M$次，則用$\\frac{M}{N}$去估計$p$值。這個估計是會有誤差的，但是我們會認為，當$N$越大，則誤差會縮小。<br><br>\n",
    "**從現實（實用）的角度去看，概率的統計定義無非是通過試驗去估計時間概率的方法**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 定義：\n",
    "\n",
    "設$X_1, X_2, ..., X_n$是獨立同分佈（i.i.d)的隨機變量，記它們的共喔過年均值為$\\mu$。又設它們的方擦好存在並記做$\\sigma^2$。則對任意給定的$\\varepsilon > 0$，有\n",
    "<br>\n",
    "<center>\n",
    "    $\\displaystyle \\lim_{ n \\to \\infty } P(| \\bar{X}_n - \\mu| \\geq \\varepsilon) = 0 \\hspace{ 10pt } \\ldots (1-1)$\n",
    "</center>\n",
    "</br>\n",
    "\n",
    "這個式子指出了「當$n$很大時，$\\bar{X}_n$接近$\\mu$」的確切含義。這裡的“接近”時概率上的嗎，也就是說概率非常小，但還是由一定的概率出現意外情況（例如上式的概率大於$\\epsilon$）。只是這樣的可能性越來越小，這樣的收斂型，在概率論中叫做”$\\bar{X}_n$依概率收斂與$\\mu$“。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面是用 python 來模擬拋硬幣：\n",
    "<br>\n",
    "用 random 模塊生成區間$[0,1)$之間的隨機數，如果生成的數小於0.5，就記為硬幣正面朝上，否則幾位硬幣反面朝上。由於`random.random()`生成的數可以看做服從在區間`[0,1)`上的均勻分佈，所以以0.5為界線，隨機生成的數大於0.5或小於0.5的概率應該是相同的（相當於硬幣為均勻的）。這樣就用隨機數模擬了時機拋硬幣試驗。理論上試驗次數越多（拋硬幣次數越多），正反面出現次數之比越接近1。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x68f43850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "def flip_plot(minExp, maxExp):\n",
    "    \"\"\"\n",
    "    Assumes minExp and maxExp positive integers; minExp < maxExp\n",
    "    Plots results of 2**minExp to 2**maxExp coin flips\n",
    "    \"\"\"\n",
    "    # 两个参数的含义，抛硬币的次数为2的minExp次方到2的maxExp次方，\n",
    "    #也就是一共做了(2**maxExp - 2**minExp)批次实验，每批次重复抛硬币2**n次\n",
    "\n",
    "    ratios = []\n",
    "    xAxis = []\n",
    "    for exp in range(minExp, maxExp + 1):\n",
    "        xAxis.append(2**exp)\n",
    "    for numFlips in xAxis:\n",
    "        numHeads = 0 # 初始化，硬币正面朝上的计数为0\n",
    "        for n in range(numFlips):\n",
    "            if random.random() < 0.5:  # random.random()从[0, 1)随机的取出一个数\n",
    "                numHeads += 1  # 当随机取出的数小于0.5时，正面朝上的计数加1\n",
    "        numTails = numFlips - numHeads  # 得到本次试验中反面朝上的次数\n",
    "        ratios.append(numHeads/float(numTails))  #正反面计数的比值\n",
    "    plt.title('Heads/Tails Ratios')\n",
    "    plt.xlabel('Number of Flips')\n",
    "    plt.ylabel('Heads/Tails')\n",
    "    plt.plot(xAxis, ratios)\n",
    "    plt.hlines(1, 0, xAxis[-1], linestyles='dashed', colors='r')\n",
    "    plt.show()\n",
    "\n",
    "flip_plot(4, 16)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 中心極限定理（Central Limit Theorem，CLT）\n",
    "\n",
    "中心極限定理描述的是某種形式變量之和的分佈。<br>\n",
    "\n",
    "##### 從大數定理倒中心極限定理\n",
    "\n",
    "> 简单来说，大数定律（LLN）和中心极限定理（CLT）的联系与区别在于：\n",
    "共同点：都是用来描述独立同分布（i.i.d）的随机变量的和的渐进表现（asymptotic behavior)\n",
    "区别：首先，它们描述的是在不同的收敛速率（convergence rate）之下的表现，其次LLN前提条件弱一点：$E(X^2)<\\infty$ CLT成立条件强一点：$E(X_2)<∞$\n",
    "\n",
    "摘自知乎：**Detian Deng** 的回答"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 定理\n",
    "\n",
    "假設${X_n}$為$i.i.d$的隨機變量序列，具有公共的數學期望$\\mu$和方差$\\sigma^2$，則$X_1 + \\dots + X_n$ 的標準形式$\\frac{1}{\\sqrt n} \\sigma (X_1 + X_2 + \\dots X_n - n\\mu)$滿足中心極限定理。即，對任意$x\\in R$，有：\n",
    "<br>\n",
    "<center>\n",
    "    $\\lim_{n\\rightarrow \\infty} F_n(x) = \\Phi(x)$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "其中$F_n(x)$為$\\frac{1}{\\sqrt n} \\sigma (X_1 + X_2 + \\dots X_n - n\\mu)$的分佈函數，而$\\Phi(x)$為標準正態分佈$N(0,1)$的分佈函數，記做：\n",
    "<br>\n",
    "<center>\n",
    "    $\\frac{1}{\\sqrt n} \\sigma (X_1 + X_2 + \\dots X_n - n\\mu)  \\stackrel{d}{\\longrightarrow} N(0,1)$\n",
    "</center>\n",
    "<br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "這個定理說明了：**任何獨立同分佈的隨機變量序列，不論它的分佈是什麼，只要存在有限的方差，那麼它們的標準化部分和都會逐漸近於正態分佈**，這也說明了正態分佈的普遍性。由這個定理，我們可以得到下面這個推論：<br>\n",
    "\n",
    "設$X_1, \\dots,X_n$相互獨立且具有相同的分佈:\n",
    "<br>\n",
    "<center>\n",
    "$P(X_1 = 1) = 1-P(X_1 = 0)=p, 0<p<1$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "則有：\n",
    "<br>\n",
    "<center>\n",
    "$\\frac{X_1, \\dots,X_n}{\\sqrt{np(1-p)}} \\stackrel{d}{\\longrightarrow} N(0,1)$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "即：\n",
    "<br>\n",
    "<center>\n",
    "$\\lim_{n\\rightarrow \\infty}\\frac{X_1, \\dots,X_n}{\\sqrt{np(1-p)}} \\stackrel{d}{\\longrightarrow} N(0,1)$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "這就是棣莫弗-拉普拉斯定理，最早的中心極限定理。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "題目：<br>\n",
    "\n",
    "设一考生参加 100 道题的英语标准化考试 (每道题均为有两个备选答案的选择题，有且仅有一个答案是正确的)，每道题他都随机地选择一个答案，假设评分标准为:选对得一分，选错或不选不得分。 试给出该考生最终得分大于等于 50 的概率.\n",
    "<br>\n",
    "\n",
    "解答：每一題都是一個伯努利分佈，既然是隨機選擇，那麼選擇正確的概率就是$\\frac{1}{2}$，100道題，說明這是一個$n = 100$的$n$重伯努利分佈。分數則是這個樣本數據的期望。$X～B(100,0.5)$，通過`python`畫出圖像："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 32.  33.  34.  35.  36.  37.  38.  39.  40.  41.  42.  43.  44.  45.  46.\n",
      "  47.  48.  49.  50.  51.  52.  53.  54.  55.  56.  57.  58.  59.  60.  61.\n",
      "  62.  63.  64.  65.  66.  67.]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7179cc30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "binom_pmf(n=100, p=0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 32.  33.  34.  35.  36.  37.  38.  39.  40.  41.  42.  43.  44.  45.  46.\n",
      "  47.  48.  49.  50.  51.  52.  53.  54.  55.  56.  57.  58.  59.  60.  61.\n",
      "  62.  63.  64.  65.  66.  67.]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEICAYAAABfz4NwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VNX5wPHvm4UsQAiEPQkkEHZEloAKKCBWQVHUokKroqLWtbZqrbbWWu3mr7ZiK2oVVMQFFbeIu7IIyBb2XbKSsAYSwpqQ5f39MRcbY0KGbHcmeT/P49OZe889895bMu+ce849R1QVY4wxJsDtAIwxxvgGSwjGGGMASwjGGGMclhCMMcYAlhCMMcY4LCEYY4wBLCGYRk5EHhWR12pYxxER6VJL8fxORKY7r+NEREUkqJbq7uTEGlgb9ZmGxxKCqVMikiEie0WkaZltN4vIAhfD8oqIjBSRUudL9IiIZIvI2yIyuGw5VW2mqmle1JVd1Weq6l9V9eaaxu58ZoaIXFCm7h1OrCW1Ub9peCwhmPoQBNxT00rEo77/ze5S1WZAc+BsYCuwSERG1/YH1VZLwJjqsoRg6sM/gPtFJLKinSIyVERWiki+879Dy+xbICJ/EZElwDGgi7PtzyLyrfPL/SMRiRKR10XkkFNHXJk6nhaRLGffKhE593RPQD2yVfURYDrwRJn6VUQSnNcXi8hmETksIjtF5H6ndfQp0LFMa6Ojc7tqjoi8JiKHgBsquYV1k4jsEpHdInJfmc99RUT+XOb9960QEZkFdAI+cj7vgfK3oJwYkkQkV0RSROSWMnU96rSGXnXOZZOIJJ7udTP+xRKCqQ/JwALg/vI7RKQV8DHwbyAK+BfwsYhElSl2HXArnl/pmc62ic72aKArsBR4GWgFbAH+WOb4lUB/Z98bwDsiElqD83kPGFj2NlgZM4BfqGpzoC8wT1WPAmNxWhvOf7uc8uOBOUAk8HolnzcK6AZcCDxY9jZQZVT1OmAHcKnzef9XQbE3gWygIzAB+Gu5ls9lwGwntiTgmao+1/g3SwimvjwC3C0ibcptvwTYrqqzVLVYVd/Ec1vm0jJlXlHVTc7+Imfby6qaqqr5eH59p6rqV6paDLwDDDh5sKq+pqoHnOP/CYQAPWpwLrsAwfNFWV4R0FtEIlQ1T1VXV1HXUlX9QFVLVfV4JWX+pKpHVXUDnqQ3qfqhe4hILDAc+K2qFqjqWjwtn+vKFFusqp84fQ6zgDNr+rnGt1lCMPVCVTcCc4EHy+3qyP9+9Z+UieeX/0lZFVS5t8zr4xW8b3byjYjcJyJbnFtSB4EWQOvTO4MfiAYUOFjBvp8CFwOZIrJQRM6poq6Kzu1UZTLxXLOa6gjkqurhcnWXve57yrw+BoRaP0fDZgnB1Kc/Arfwwy+dXUDncuU6ATvLvK/2lLxOf8FvgauBlqoaCeTj+YVfXVcAq51bQT+gqitVdTzQFvgAePvkrkrq8ubcYsu87oTnmgEcBcLL7Gt/GnXvAlqJSPNyde+spLxpBCwhmHqjqinAW8Avy2z+BOguIj8TkSARuQbojac1URuaA8VADhAkIo8AEadbiTPCKVpE/gjcDPyugjJNROTnItLCubV1CDg5xHMvECUiLapxDn8QkXAR6QPciOcaAqwFLhaRViLSHvhVueP2AhU+H6GqWcC3wN9EJFRE+gFTqLwfwzQClhBMfXsM+L4zVlUPAOOA+4ADwAPAOFXdX0uf9zmePobv8NwSKcC72zQndRSRI8ARPJ3TZwAjVfWLSspfB2Q4o4ZuA64FUNWteDpx00TkoIiczm2fhUAK8DXwZJnPngWsAzKAL/hfojjpb8DDzuf9qEMfT19EHJ7WwvvAH1X1y9OIyzQwYgvkGGOMAWshGGOMcVhCMMYYA1hCMMYY47CEYIwxBvBMOuY3WrdurXFxcW6HYYwxfmXVqlX7VbX8LAE/4lcJIS4ujuTkZLfDMMYYvyIi5WcDqJDdMjLGGANYQjDGGOOwhGCMMQbwsz4EY4zvKioqIjs7m4KCArdDabRCQ0OJiYkhODi4Wsd7lRBEZAzwNBAITFfVv5fbHwK8CgzCMx/NNaqa4SxyMgcYjGdO+7vKHNMEz4IbI4FS4Peq+m61zsIY47rs7GyaN29OXFwcIjWZTNZUh6py4MABsrOziY+Pr1YdVd4yEpFAYBqeFZ96A5NEpHe5YlOAPFVNAJ7if8sLFgB/oIKVsoDfA/tUtbtT78JqnYExxicUFBQQFRVlycAlIkJUVFSNWmje9CEMAVJUNU1VT+BZUm98uTLjgZnO6znAaBERZ5WnxXgSQ3k34ZmNEWe1qNqa3dIY4xJLBu6q6fX35pZRND+cLjgbOKuyMqpaLCL5eNbHrfBLvsxi64+LyEggFbhLVfdWUPZWPOvp0qlTJy/CNaZuFRSV8NnGPaTlHKlwf+vmIVx2Zkciw5vUc2TG1Iw3CaGilFN+zmxvypT/3BhgiareKyL3Ak/yw/VcPZWovgC8AJCYmGhzdRvX7Dx4nNeXZTJ7ZRa5R08AUNEPMlX46ydbuLx/NNed05k+HauzJo6pKwsWLODJJ59k7ty5FBYWcskll7B//34eeughrrnmmiqP37p1KxMnTkREmDNnDl27dq2HqOuHNwkhmx8u4RfD/5bwK18m21lztQWQe4o6D+BZo/V95/07ePohjPEpqsrS1APMXJrBl5s9DdgLerVj8tA4hnat+H755l2HmLUsg/fX7GT2yiwGx7Xk+nPiuKhPe5oE2UhvX7JmzRoA1q5d6/UxH3zwARMmTODhhx+u1ViKi4sJCnJ34Kc3n74S6CYi8XjWW50I/KxcmSRgMrAUmADM01OsvKOqKiIf4RlhNA8YDWw+7eiNqUM7DhzjjjdWsXHnIVo1bcJtI7ry87M7Ex0ZdsrjeneM4G9X9uPBMb14Z1UWs5Zlcveba2gfEcrTE/tzVpeoejqDxiUjI4MxY8YwaNAgVq9eTZ8+fXj11VcJDw/ns88+41e/+hXh4eEMHz4cgH379nHttdeSk5ND//79effdd3/wa3/t2rXcdtttHDt2jK5du/LSSy+xdOlSpk6dSmBgIF9//TXz58//QQzNmjXjnnvuYe7cuYSFhfHhhx/Srl07MjMzuemmm8jJyaFNmza8/PLLdOrUiRtuuIHQ0FDWrFnDsGHDiIiIID09nbS0NHbs2MFTTz3FsmXL+PTTT4mOjuajjz6q9pBSb3i1YpqIXAxMxTPs9CVV/YuIPAYkq2qSiITiWc5vAJ6WwURVTXOOzcCzhm0T4CBwoapuFpHOzjGReNa7vVFVd5wqjsTERLW5jEx9+DZ1P3e8vhpV+P0lvbjszI6EBgdWq67SUmXh9hwen7uZHQeO8fjlfZk0pOH1h23ZsoVevXoB8KePNrF516Farb93xwj+eGmfSvdnZGQQHx/P4sWLGTZsGDfddBO9e/fmrrvuolu3bsybN4+EhASuueYajh07xty5c39w+6i8fv368Z///IcRI0bwyCOPcOjQIaZOncqjjz5Ks2bNuP/+Hw+eFBGSkpK49NJLeeCBB4iIiODhhx/m0ksvZcKECUyePJmXXnqJpKQkPvjgA2644Qb279/Phx9+SGBgII8++ihfffUV8+fPZ/PmzZxzzjm8++67jB07liuuuILJkydz+eWXn/I6lf3/oUxcq1Q1sapr7FX7VVU/UdXuqtpVVf/ibHtEVZOc1wWqepWqJqjqkJPJwNkXp6qtVLWZqsao6mZne6aqnqeq/VR1dFXJwJj68tqyTK6fsYLWzUL48M5hXJ0YW+1kABAQIIzq0Zb37xjG0ITWPPTeBh5N2kRxSWktRm0AYmNjGTZsGADXXnstixcvZuvWrcTHx9OtWzdEhGuvvbbKevLz8zl48CAjRowAYPLkyXzzzTdVHtekSRPGjRsHwKBBg8jIyABg6dKl/Oxnnhsr1113HYsXL/7+mKuuuorAwP/9+xo7dizBwcGcccYZlJSUMGbMGADOOOOM7+urK/aksjGOopJSHp+7mVeXZjKqRxuenjSAiNDaa563CAvmpcmJ/O3TrcxYnE5qzhGemTSQFuF1dwvALaf6JV+XyvfpnHxfX8Nhg4ODv/+swMBAiouLKyxXNp6mTZv+YF9ISAgAAQEBP6gvICCg0vpqi/VwGQMcPHaCG15ewatLM7n1vC5Mnzy4VpPBSUGBAfxhXG/+76f9WJZ2gCueXUJqJcNXzenbsWMHS5cuBeDNN99k+PDh9OzZk/T0dFJTU7/fXpUWLVrQsmVLFi1aBMCsWbO+by1Ux9ChQ5k9ezYAr7/++vf9GL7GEoJp9PbkF3D5tCWsTM/jyavO5HcX9yIwoG5/UV49OJY3bjmb/ONFXD5tCat35NXp5zUWPXr0YNq0afTq1Yvc3Fxuv/12QkNDeeGFF7jkkksYOHAgbdu29aqumTNn8pvf/IZ+/fqxdu1aHnnkkWrH9e9//5uXX36Zfv36MWvWLJ5++ulq11WXvOpU9hXWqWxq2/ETJVz936Wk5Rxh5k1DSIxrVa+fn513jJ9PX87RwmI+uHMYMS3D6/Xza1NFnZn1KSMjg3HjxrFx40bXYvAFdd6pbExDpKrcP2cdG3fl8/TEAfWeDABiWoYzY/JgCotLuXlmMkcL6/YesTGnYgnBNFpPf72dj9fv5sExPbmgdzvX4kho24xpPxvId3sP86u31lJa6j+tdl8SFxfX6FsHNWUJwTRKc9fvYupX2/npwBhuPa+L2+FwXvc2PDKuN19u3ss/vtjmdjjV5k+3oBuiml5/Swim0VmffZD73l5HYueW/PXKvj4zQ+fkoXH87KxOPLcglXdXZbsdzmkLDQ3lwIEDlhRccnI9hNDQ0GrXYc8hmEZlT34Bt7yaTOtmITx/3SBCgqr/wFltExH+dFkfMvYf5aH3NhDXOpxBneu/X6O6YmJiyM7OJicnx+1QGq2TK6ZVl40yMo1G2RFF794xlJ7tI9wOqUIHj53g8mlLOFxQzId3+ffII+MbbJSRMeX87dMt348o8tVkABAZ3oTpkwdzoqSUX822TmZTfywhmEZhRXoury7NZPI5ca6OKPJWQttmPHppH5Iz83h1aYbb4ZhGwhKCafAKikr47bvriW0VxgNjergdjteuHBjNyB5teOKzbWTlHnM7HNMIWEIwDd5TX35H+v6j/P3KfoQ38Z9xFCLCX684g8AA4cH31tvoHVPnLCGYBm1d1kFeXJTGpCGxDEto7XY4p61jZBgPXdyTJSkHeGtlVtUHGFMDlhBMg1VYXMJv5qyjbfNQHrrYvTl2amrS4E6c3aUVf/l4C3vyC9wOxzRglhBMgzVtfirf7T3CX6/sWydTWdeXgADhiZ/2o6i0lN+/v8FuHZk641VCEJExIrJNRFJE5MEK9oeIyFvO/uUiEudsjxKR+SJyRESeqaTuJBGxCUhMrdqy+xDPzk/higHRnN/T90cVVaVzVFPuv7AHX2/dR9K6XW6HYxqoKhOCiAQC04CxQG9gkoj0LldsCpCnqgnAU8ATzvYC4A/Ajxcf9dR9JWCrg5haVVxSygNz1hMZHswj48r/U/VfNw6LZ0CnSB5N2sT+I4Vuh2MaIG9aCEOAFFVNU9UTwGxgfLky44GZzus5wGgREVU9qqqL8SSGHxCRZsC9wJ+rHb0xFZixOJ0NO/N5bHxfWjZt4nY4tSYwQPjHhH4cLSzhTx9tdjsc0wB5kxCigbLDG7KdbRWWUdViIB+IqqLex4F/AqccYC0it4pIsogk2xwppioHjhTyn3kpjO7ZlovP6OB2OLUuoW1zbh/ZlY/W7WJVpq2yZmqXNwmhoqkgy/dqeVPmf4VF+gMJqvp+VR+uqi+oaqKqJrZp06aq4qaRe/rr7RwvKvHrUUVV+cWILrRtHsJfPt5sHcymVnmTELKB2DLvY4DyvVrflxGRIKAFkHuKOs8BBolIBrAY6C4iC7wL2ZiKpew7wuvLd/DzszqR0LaZ2+HUmfAmQdx/YQ9W7zjIJxv2uB2OaUC8SQgrgW4iEi8iTYCJQFK5MknAZOf1BGCenuKni6o+p6odVTUOGA58p6ojTzd4Y8r6+6dbCQsO5J7R3dwOpc79dFAMPds354nPtlJYXOJ2OKaBqDIhOH0CdwGfA1uAt1V1k4g8JiKXOcVmAFEikoKno/j7oalOK+BfwA0ikl3BCCVjamxp6gG+2rKXO0Z1JapZiNvh1LnAAOF3F/diR+4xZi3NdDsc00DYegjG75WWKuOnLeHAkULm3T+S0GDfWfSmrl3/0grWZR1k4W9GEhnecEZUmdpl6yGYRiNp3S427MznN2N6NKpkAPC7i3tyuKCIZ+aluB2KaQAsIRi/VlBUwj8+30bf6AjGn1l+NHTD17N9BFcNimXm0gx2HLApsk3NWEIwfu3lJRnsPHic313ci4CAikY/N3z3XtidoIAAnvh8q9uhGD9nCcH4rQNHCnl2fgoX9GrL0K7+N7V1bWkXEcqt53Xh4/W77WE1UyOWEIzf+vfX2zlWVMKDY3u6HYrrbj2vC22ah/DXT7bYw2qm2iwhGL+08+Bx3lixg6sTY0lo29ztcFzXNCSIX1/QnVWZeSz4zqZ4MdVjCcH4pecWeEbV3HV+gsuR+I4Jg2KIjgzj6a+2WyvBVIslBON3ducf5+2V2VyVGEt0ZJjb4fiMJkEB3DkqgbVZB/lm+363wzF+yBKC8TvPLUhFUe4Y2dXtUHzOyVbC1K++s1aCOW2WEIxf2Z1/nNkrspgwKIaYluFuh+NzmgQFcPvIrqzZcZBF1kowp8kSgvErzy9IpVSVO0Za30FlrkqMoUOLUJ7+2voSzOmxhGD8xt5DBby50tM6iG1lrYPKhAQFcseoBFZl5rE4xVoJxnuWEIzfeG5BKqWlyp2jrHVQlatPthJsxJE5DZYQjF/Yd6iAN1fs4MqB0dY68EJIUCC3j+xKcmYe36YecDsc4ycsIRi/8NzCVIpLlbtGNfzFb2rL1YmxtIsIsVaC8ZolBOPz9h0q4I3lO7hiQDSdoqx14K3Q4EBuH9GVFRm5LLVWgvGCVwlBRMaIyDYRSRGRByvYHyIibzn7l4tInLM9SkTmi8gREXmmTPlwEflYRLaKyCYR+XttnZBpeP77TZrTOrC+g9M1cUgn2jYPYerX290OxfiBKhOCiAQC04CxQG9gUgXLYE4B8lQ1AXgKeMLZXgD8Abi/gqqfVNWewABgmIiMrd4pmIZs/5FCXl+eyeX9o4lr3dTtcPxOaLCnL2FFei7L06yVYE7NmxbCECBFVdNU9QQwGxhfrsx4YKbzeg4wWkREVY+q6mI8ieF7qnpMVec7r08Aq4GYGpyHaaBe/TaDwuJS7hhlTyVX16QhnYhq2oTnF6a6HYrxcd4khGggq8z7bGdbhWVUtRjIB6K8CUBEIoFLga8r2X+riCSLSHJOjs3i2JgcLSxm5tJMftKrHV3bNHM7HL8VGhzI5KFxzN+Ww9Y9h9wOx/gwbxJCRctQlR+y4E2ZH1csEgS8CfxbVdMqKqOqL6hqoqomtmnTpspgTcMxe2UW+ceLuM3mLKqx68/pTHiTQP67sMI/M2MA7xJCNhBb5n0MsKuyMs6XfAsg14u6XwC2q+pUL8qaRqSopJQZi9IYEt+KgZ1auh2O34sMb8LEwZ1IWreL7Dxbe9lUzJuEsBLoJiLxItIEmAgklSuTBEx2Xk8A5mkVA59F5M94EsevTi9k0xh8tG4Xu/ILuH2EtQ5qy5Rz4xFgxuJ0t0MxPqrKhOD0CdwFfA5sAd5W1U0i8piIXOYUmwFEiUgKcC/w/dBUEckA/gXcICLZItJbRGKA3+MZtbRaRNaKyM21eWLGf6kq/12YRo92zRnZw24T1pboyDAuO7Mjs1dkkXf0hNvhGB8U5E0hVf0E+KTctkfKvC4Arqrk2LhKqq2o38EY5m/bx7a9h/nX1WciYv9MatMvRnTlvTU7mbUsk1+Otqe+zQ/Zk8rG5zy/II3oyDAuPbOj26E0OD3aN+f8nm155dsMjp8ocTsc42MsIRifsiozjxUZuUwZHk9woP3zrAu3jehK7tETvLMqq+rCplGxvzjjU/67MJUWYcFcMzi26sKmWgbHtWRAp0heXJRGcUmp2+EYH2IJwfiMlH1H+HLLXiaf05mmIV51b5lqEBFuG9GVrNzjfLJxj9vhGB9iCcH4jBe+SSUkKIDJQ+PcDqXB8zz93ZTnF6Ta1Njme5YQjE/Ye6iA99fs5OrEWKKahbgdToMXECD84ryubN59iEXbbZlN42EJwfiEV77NoKRUuXl4F7dDaTTGD+hI2+YhvLjIprMwHpYQjOuOFhbz+rJMLurT3hbAqUchQZ5J7xZt38+2PYfdDsf4AEsIxnVzVmVzqKCYm8+11kF9+/lZnQgLDmS6tRIMlhCMy0pKlZeWpDOgUySDOtskdvUtMrwJEwbF8OHaXew7XFD1AaZBs4RgXPXl5r1kHjjGLdY6cM2U4fEUlZYya2mm26EYl1lCMK6asTiN2FZhXNSnvduhNFpxrZvyk17teG1Zpk1n0chZQjCuWZt1kJUZedw4NJ7AAJvEzk03n9uFvGNFvLs62+1QjIssIRjXvLgojeahQVxt01S4bnBcS86MacFLi9MpLbUH1RorSwjGFVm5x/h0w25+NqQTzWyaCteJCFPO7ULa/qPM27rP7XCMSywhGFe88m0GASLcMCzO7VCM4+K+7YmODLMH1RoxrxKCiIwRkW0ikiIiD1awP0RE3nL2LxeROGd7lIjMF5EjIvJMuWMGicgG55h/i62E0mgcKijirZVZXNKvAx1ahLkdjnEEBQZww9A4lqfnsiE73+1wjAuqTAgiEghMA8biWfJykoj0LldsCpCnqgnAU8ATzvYC4A/A/RVU/RxwK9DN+W9MdU7A+J+3VmRxpLDYpqnwQdcMiaVZSBDTF1sroTHypoUwBEhR1TRVPQHMBsaXKzMemOm8ngOMFhFR1aOquhhPYvieiHQAIlR1qXqmWnwVuLwmJ2L8Q3FJKS8vSees+FacEdPC7XBMORGhnrUoPl6/m10Hj7sdjqln3iSEaKDs0krZzrYKy6hqMZAPRFVRZ9nxbRXVCYCI3CoiySKSnJOT40W4xpd9snEPu/IL7EE0H3bjsDhKVZn5bYbboZh65k1CqOjefvlxad6UqVZ5VX1BVRNVNbFNmzanqNL4OlVlxqI04ls35fyebd0Ox1QipmU4Y8/owBsrdnC0sNjtcEw98iYhZANlB4rHALsqKyMiQUALILeKOmOqqNM0MKsy81iXnc9Nw+MJsAfRfNrNw+M5XFDMO8m27nJj4k1CWAl0E5F4EWkCTASSypVJAiY7rycA8/QUyzCp6m7gsIic7Ywuuh748LSjN35l+qJ0IsOD+enACu8OGh8yoFNLBnVuyUtLPOtUmMahyoTg9AncBXwObAHeVtVNIvKYiFzmFJsBRIlICnAv8P3QVBHJAP4F3CAi2WVGKN0OTAdSgFTg09o5JeOLMg8c5fPNe/j5WZ0Ib2IPovmDm4fHsyP3GF9u3ut2KKaeePWXqaqfAJ+U2/ZImdcFwFWVHBtXyfZkoK+3gRr/9vKSDIIChOvPiXM7FOOlC/u0J6ZlGDMWpzGmr00+2BjYk8qmzuUfL+Lt5Cwu7deRdhGhbodjvBQYINw4LJ6VGXmsyzrodjimHlhCMHXurZU7OHaihJuGx7sdijlNVyfG0DwkiBmL090OxdQDSwimThWVlPLKkgzO6RJF32h7EM3fNA8NZuKQWD7eYA+qNQaWEEyd+tR5EO3mc6114K8mD40DsAfVGgFLCKbOnHwQrUvrpozqYQ+i+auYluGM6dveHlRrBCwhmDpz8kG0G+1BNL9nD6o1DpYQTJ2xB9EaDntQrXGwhGDqhD2I1vDYg2oNnyUEUyfsQbSG58I+7Ylt5XlQzTRMlhBMrcs/Zg+iNUSBAcKNQz0Pqq3Zked2OKYOWEIwte71FZkcO1HCLefZmgcNzdWDY4kIDWL6IntQrSGyhGBqVWFxCa8syeDcbq3p1SHC7XBMLWsWEsTPz+7Mpxt3s+PAMbfDMbXMEoKpVUlrd7HvcCG3WuugwbphaByBAcJLS6yV0NBYQjC1RlV5cVEaPds3Z3hCa7fDMXWkXUQo4/tH89bKLA4eO+F2OKYWWUIwtWbhdzl8t/cIt57XBc+6R6ahuuXcLhwvKuH15TvcDsXUIksIpta8uCiN9hGhjOvX0e1QTB3r0b45I7q34eUlGRQWl7gdjqklXiUEERkjIttEJEVEHqxgf4iIvOXsXy4icWX2PeRs3yYiF5XZ/msR2SQiG0XkTRGx8Yl+bNOufJakHOCGYXE0CbLfGY3BLed2Yf+RQj5cY8uhNxRV/uWKSCAwDRgL9AYmlVkG86QpQJ6qJgBPAU84x/bGswZzH2AM8KyIBIpINPBLIFFV+wKBTjnjp6YvSqdpk0AmDenkdiimngxLiKJXhwheXJTGKZZQN37Em59yQ4AUVU1T1RPAbGB8uTLjgZnO6znAaPHcRB4PzFbVQlVNx7N+8hCnXBAQJiJBQDhgPzP81K6Dx/lo3S4mDulEi7Bgt8Mx9UREuPW8eLbvO8KC73LcDsfUAm8SQjRQdorDbGdbhWVUtRjIB6IqO1ZVdwJPAjuA3UC+qn5RnRMw7nvl2wwUuHFYnNuhmHo2rl9H2keE8uI3Np1FQ+BNQqhouEj59mFlZSrcLiIt8bQe4oGOQFMRubbCDxe5VUSSRSQ5J8d+hfiaQwVFvLF8B5ec0YGYluFuh2PqWXBgADcNj+Pb1ANs3JnvdjimhrxJCNlAbJn3Mfz49s73ZZxbQC2A3FMcewGQrqo5qloEvAcMrejDVfUFVU1U1cQ2bdp4Ea6pT2+tyOJIYTG3nGsPojVWE4d0ollIEC8uslaCv/MmIawEuolIvIg0wdP5m1SuTBIw2Xk9AZinnl6mJGCiMwopHugGrMBzq+hsEQl3+hpGA1tqfjqmPp0oLuWlJemc3aUVZ8TYesmNVURoMJOGxDJ3/W6y82w6C39WZUJw+gTuAj7H86X9tqpuEpHHROQyp9gMIEpEUoB7gQedYzcBbwPO9dOTAAAa3klEQVSbgc+AO1W1RFWX4+l8Xg1scOJ4oVbPzNS5D9buZHd+AbeN6Op2KMZlNw2PJ0CwvgQ/J/40XCwxMVGTk5PdDsMAJaXKT55aSFhwIHPvHm5PJhsemLOOD9fuYsmD59O6WYjb4ZgyRGSVqiZWVc6eIDLV8sWmPaTlHOX2kV0tGRgAfjGiKydKSnnZJr3zW5YQzGlTVZ5dkEp866aM7dvB7XCMj+japhlj+7bn1aWZHC4ocjscUw2WEMxpW5yynw078/nFeV0IDLDWgfmfO0YmcLigmNeW2aR3/sgSgjltz85PpV1ECFcMLP98omns+ka34NxurZmxOJ2CIpv0zt9YQjCnZc2OPJamHeDm4V0ICQp0Oxzjg+4YmcD+I4W8syrb7VDMabKEYE7LcwtSaREWzKSzbBI7U7Gzu7Sif2wkL3yTSnFJqdvhmNNgCcF4bfvew3yxeS+Th8bRLCTI7XCMjxIR7hjZlazc43y8Ybfb4ZjTYAnBeO25hamEBQdyw9A4t0MxPu6CXu3o1rYZzy1Itamx/YglBOOV7LxjJK3dxcQhsbRq2sTtcIyPCwgQbh/Zla17DjNv6z63wzFesoRgvPLiN2mIYJPYGa9demZHoiPDeNZaCX7DEoKpUs7hQmavzOLy/tF0jAxzOxzjJ4IDA/jFiC6sysxjeXqu2+EYL1hCMFX678JUikpKuX2kTWJnTs/VibG0bR7C1K++czsU4wVLCOaU9h0u4LXlmVw+IJoubZq5HY7xM6HBgdw+sivL0nJZmnrA7XBMFSwhmFP678I0ikqUu8/v5nYoxk9NGtLJWgl+whKCqdS+QwW8tiyTy/tHE9+6qdvhGD8VGhzIHSO7sjw9l29T97sdjjkFSwimUs8tTKW4VPnl6AS3QzF+buKQTrSLCGHql9ttxJEPs4RgKrTvUAFvLN/BlQOi6RxlrQNTM55WQgIrMqwvwZd5lRBEZIyIbBORFBF5sIL9ISLylrN/uYjEldn3kLN9m4hcVGZ7pIjMEZGtIrJFRM6pjRMytePZBZ7WwV3nW+vA1I5rBsfSPiKUp776zloJPqrKhCAigcA0YCzQG5gkIr3LFZsC5KlqAvAU8IRzbG9gItAHGAM869QH8DTwmar2BM7Es16z8QF78gt4Y8UOfjrQWgem9oQGB3LHqK6szMhjSYq1EnyRNy2EIUCKqqap6glgNjC+XJnxwEzn9RxgtHjWVRwPzFbVQlVNB1KAISISAZwHzABQ1ROqerDmp2Nqw/MLUyktVe4aZSOLTO26ZnAsHVqEMtVaCT7Jm4QQDWSVeZ/tbKuwjKoWA/lA1CmO7QLkAC+LyBoRmS4iFf4UFZFbRSRZRJJzcnK8CNfUxP9aBzF0igp3OxzTwIQEBXLHqASSM/NYnGIjjnyNNwmhojUSy6f2yspUtj0IGAg8p6oDgKPAj/omAFT1BVVNVNXENm3aeBGuqYlnF6R4WgfWd2DqyNWJMXRsEcpTX1orwdd4kxCygdgy72OAXZWVEZEgoAWQe4pjs4FsVV3ubJ+DJ0EYF+3OP87sFVlclRhDbCtrHZi6cbKVsHrHQb7Zbq0EX+JNQlgJdBOReBFpgqeTOKlcmSRgsvN6AjBPPak/CZjojEKKB7oBK1R1D5AlIj2cY0YDm2t4LqaGnvrS8yTpnaOsdWDq1tWJsURHhvF/n22ltNRaCb6iyoTg9AncBXyOZyTQ26q6SUQeE5HLnGIzgCgRSQHuxbn9o6qbgLfxfNl/BtypqidX3r4beF1E1gP9gb/W3mmZ07V1zyHmrMrm+nM6E9PSWgembjUJCuA3F/Vg065DJK0rf8PBuEX86R5eYmKiJicnux1Gg3TjyytYlZnHNw+MIjLcFsAxda+0VLn0mcUcPFbE1/eNIDQ4sOqDTLWIyCpVTayqnD2pbPg2dT/zt+Vw56gESwam3gQECL+7uBc7Dx5n1tJMt8MxWEJo9EpLlb9/upXoyDAm21rJpp4NS2jNiO5teGZ+CvnHitwOp9GzhNDIzd2wm/XZ+dx3YXdrshtXPDi2J4cKinh2QYrboTR6lhAascLiEv7x+VZ6dYjg8v7lnzU0pn706hDBlQNiePnbDLLzjrkdTqNmCaERe23ZDrJyj/PQ2J4EBFT0DKEx9eO+C7sD8K8vbBEdN1lCaKTyjxfxn3nbObdba87rbk+AG3d1jAzjpmHxvL92Jxt35rsdTqNlCaGRem5BKvnHi/jtmJ5uh2IMALeP7EqLsGCe+Gyr26E0WpYQGqGdB4/z0pJ0rugfTd/oFm6HYwwALcKCufv8bizavp9vvrOJLN1gCaEReuJTzy+we537tsb4imvP7kRsqzD+/PFmikpK3Q6n0bGE0Mh8m7KfpHW7uG1EV5uiwvickKBA/nBJb77be4RXlmS4HU6jYwmhETlRXMofPtxIbKsw7hjZ1e1wjKnQT3q34/yebZn61XfsyS9wO5xGxRJCI/LSknRSc47yp8v62ENoxmeJCI9e2oeiUuXPH9skyPXJEkIjsevgcZ7+ajsX9GrH+T3buR2OMafUKSqcO0Z2Ze763SyxldXqjSWERuLxuZtRlD9e2tvtUIzxym0jutI5Kpw/fLiRwuKSqg8wNWYJoRFY+F0On27cw12jEmwlNOM3QoMDefSyPqTlHGX6onS3w2kULCE0cAVFJfzxw410ad2UW87r4nY4xpyWUT3aclGfdvxn3nab56geeJUQRGSMiGwTkRQRebCC/SEi8pazf7mIxJXZ95CzfZuIXFTuuEARWSMic2t6IqZiL36TRsaBY/xpfB9Cgqwj2fifRy7tgyA8Ptc6mOtalQlBRAKBacBYoDcwSUTK34ieAuSpagLwFPCEc2xvPGsw9wHGAM869Z10D55lOU0dyMo9xjPzU7jkjA6c283mKzL+KToyjLtHJ/D5pr3M37bP7XAaNG9aCEOAFFVNU9UTwGxgfLky44GZzus5wGgREWf7bFUtVNV0IMWpDxGJAS4Bptf8NEx5qsofPtxIYIDw8LhebodjTI3cPLwLXdo05ZEPN3K0sNjtcBosbxJCNJBV5n22s63CMqpaDOQDUVUcOxV4ADjl8+kicquIJItIck6OzW/irbdWZrFgWw6/uagHHVqEuR2OMTXSJCiAv1/Zj+y84/ztU7upUFe8SQgVTZSvXpapcLuIjAP2qeqqqj5cVV9Q1URVTWzTxm57eCMr9xiPz93MOV2imHxOnNvhGFMrhsS3YsqweF5btsMmv6sj3iSEbCC2zPsYYFdlZUQkCGgB5J7i2GHAZSKSgecW1Pki8lo14jfllJYq97+zDhHhH1f1s4VvTINy/0U9SGjbjAfmrCf/uK3BXNu8SQgrgW4iEi8iTfB0EieVK5METHZeTwDmqao62yc6o5DigW7AClV9SFVjVDXOqW+eql5bC+fT6L38bQbL03N5ZFxvm7zONDihwYH86+ozyTlSyJ+SNrkdToNTZUJw+gTuAj7HMyLobVXdJCKPichlTrEZQJSIpAD3Ag86x24C3gY2A58Bd6qqPXJYR1L2HeH/PtvK6J5tuSoxxu1wjKkT/WIiuXNUAu+t2clnG/e4HU6DIp4f8v4hMTFRk5OT3Q7DJxWXlPLT574lM/cYX/z6PNo2D3U7JGPqTFFJKZdPW8Ke/AI+//V5tG4W4nZIPk1EVqlqYlXl7EnlBuK5Bamsy87nz5f3tWRgGrzgwAD+dXV/DhcU8/v3N+BPP2x9mSWEBmDjznye/no7l57ZkXH9OrodjjH1okf75tx3YXc+37SX99fsdDucBsESgp87dqKYe99eS6umTXh8fB+3wzGmXt18bhcGx7Xkj0mbyMq1uY5qyhKCH1NVHnpvA9v3HeHJq84kMryJ2yEZU68CA4R/XtUfgNteW0VBkY1ZqQlLCH7s1aWZfLh2F/de0J3zuttDe6Zx6hQVztRr+rNp1yEe/mCj9SfUgCUEP7UqM5fH527mgl5tuXNUgtvhGOOq0b3a8cvR3ZizKps3VuxwOxy/ZQnBD+07XMDtr60mumUY/7y6vz2NbAxwz+hujOjehkeTNrFmR57b4fglSwh+pqiklLveWMOhgiKev3YQLcKC3Q7JGJ8QGCA8PbE/7SJCueP11ew/Uuh2SH7HEoKfeeLTraxIz+XvV/ajV4cIt8MxxqdEhjfh+WsHkXv0BHe/sYbiklNOpmzKsYTgR+au38X0xencMDSOyweUn4HcGAPQN7oFf768L0vTDvDkF9+5HY5fCXI7AOOdDdn5PDBnPYM6t+R3F9uCN8acylWJsazJOsjzC1Pp1aE54/vbDyhvWELwA+n7j3LDyytoGd6E534+kCZB1rAzpip/vLQ3qfuOcN/b62gRFszIHm3dDsnn2TeLj9t7qIDrZiwHYNaUIbSNsHmKjPFGSFAgL05OpHu75tz+2mobeeQFSwg+LP9YEdfPWEHe0RO8cuMQurRp5nZIxviViNBgZt40hLYRIdz4ykpS9h12OySfZgnBRx0/UcKUmStJ33+UF69P5IyYFm6HZIxfatM8hFk3nUVwYADXzVjBroPH3Q7JZ1lC8EFFJaXc+cZqVu3IY+rE/gxNaO12SMb4tU5R4cy8cQhHCoq5bsZy8o6ecDskn+RVQhCRMSKyTURSROTBCvaHiMhbzv7lIhJXZt9DzvZtInKRsy1WROaLyBYR2SQi99TWCfm70lLlt++uZ97WfTw+vi8Xn9HB7ZCMaRB6d4xg+uREsvKOc+MrKzlaWOx2SD6nyoQgIoHANGAs0BuYJCK9yxWbAuSpagLwFPCEc2xvPGsm9wHGAM869RUD96lqL+Bs4M4K6mx0iktKeei9Dby3eif3/qQ7157d2e2QjGlQzuoSxTOTBrA++yA3vryS/ONFbofkU7xpIQwBUlQ1TVVPALOB8eXKjAdmOq/nAKNFRJzts1W1UFXTgRRgiKruVtXVAKp6GM9azY16oHBBUQl3vrGat5Kz+OX5Cdx9vk1YZ0xduLBPe/49aQBrsvKY+MIy9h0ucDskn+FNQogGssq8z+bHX97fl1HVYiAfiPLmWOf20gBgufdhNyxHCou56ZWVfL5pL3+8tDf3XtgDTz41xtSFcf06Mn3yYDL2H+Wq55fa4joObxJCRd9M5Sccr6zMKY8VkWbAu8CvVPVQhR8ucquIJItIck5Ojhfh+pcDRwr52YvLWJ6ey1PXnMmNw+LdDsmYRmFE9za8fstZHDxWxE+f+5Zte2xIqjcJIRuILfM+BthVWRkRCQJaALmnOlZEgvEkg9dV9b3KPlxVX1DVRFVNbNOmYS0Cs/Pgca7671K27TnMi9cP4ooBMW6HZEyjMrBTS9657RxE4Krnv2VVZq7bIbnKm4SwEugmIvEi0gRPJ3FSuTJJwGTn9QRgnnqWLUoCJjqjkOKBbsAKp39hBrBFVf9VGyfib7bvPcyE574l53Ahs6acxfk927kdkjGNUvd2zZlz21BaNW3Cz6cvZ/7WfW6H5JoqE4LTJ3AX8Dmezt+3VXWTiDwmIpc5xWYAUSKSAtwLPOgcuwl4G9gMfAbcqaolwDDgOuB8EVnr/HdxLZ+bz/pw7U7GT1tCUYny1q3nMCS+ldshGdOoxbYK553bhtK1TTNumrmSqV99R0lp41uKU/xp/dHExERNTk52O4xqKywu4c9ztzBrWSaJnVvyzM8G0r6FzU1kjK84dqKYh9/fyHtrdnJut9ZMvaY/Uc1C3A6rxkRklaomVlXOnlSuJ1m5x7jq+aXMWpbJLefG8+atZ1syMMbHhDcJ4p9Xn8nfrjyD5em5XPLvxY2qX8ESQj2Yt3Uv4/6zmPScozx/7UB+f0lvggPt0hvji0SESUM68d7tQwkOEq757zJmLE7Hn+6mVJd9K9Wh4ydK+OsnW7jplWSiI8P46O7hjOlrU1EY4w/6Rrdg7t3nMqpnWx6fu5nbXlvV4B9is4RQRxZs28eFUxfywjdp/OysTrx3x1DiWjd1OyxjzGloERbMC9cN4ncX92T+1hxG/3Mhry/PpLSBdjhbp3It23eogMfmbmbu+t10bdOUv1xxBmd3iXI7LGNMDaXmHOHh9zeyNO0AAztF8tcrz6Bn+wi3w/KKt53KlhBqSWmp8saKHTzx2VYKi0u5a1QCvxjRhZCgQLdDM8bUElXlvdU7+csnWzh0vIibz+3CPaO7EdbEt//OvU0ItqZyDakqS1IO8I8vtrEu6yDDEqL48+VnEG+3h4xpcESEnw6K4fyebfnbp1t4fmEqc9fv4tcXdGd8/44E+flgEWshVNPJRDD1q+9IzsyjQ4tQfnNRD64YEG0T0xnTSCxPO8CfPtrM5t2HiIsK5+7zu/lkYrBbRnWkokRwx6gErk6MsdtDxjRCqsoXm/cy9avtbNl9iPjWTbn7/AQuO9N3EoMlhFpWWFzCF5v2MvPbDJIz82gfEcqdo7py9eBYSwTGGEpLTyaG79i65zBdWjflhmFxjO8fTYuwYFdjs4RQS1JzjjB7xQ7eXb2T3KMniI4M47YRXSwRGGMqdDIxTJufwoad+YQGBzCuX0cmDYllYKeWrtxStoRQA8dOFPPFpr28uWIHy9NzCQoQftK7HROHdOLchNYEBFgfgTGmahuy83ljxQ6S1u7k6IkSurdrxsTBnRjfv2O9zpFkCeE05Rwu5Oste/ly814Wp+ynsLiUzlHhXDM4lgmDYmjb3OYdMsZUz9HCYj5at4s3V2axLusgAQKDOrfkwt7t+UnvdnX+0KolhCqUlCrb9hzmm+05fLl5L6t35KEKMS3D+EnvdlzUpz1D4lpZa8AYU6u27D7EZxv38MXmvWzZ7VkoslvbZvykdzvO79mWM2Ja1PrtaEsI5RQWl7A+O58V6bkkZ+SSnJnH4YJiAPpGR/CTXp5M3atDcxs2aoypF1m5x/jKuTOxPD2XklIlJCiAM2MjGRzXksFxrRjUuSXNQ2vWKW0JoYwpr6xkUcp+ThSXApDQthmD41oxJL4lZ3eJokOLsNoO1RhjTsvBYydYnp7LyvRcVmbksnHXIUpKlQCBXh0ieG3KWbRs2qRadduTymXEtW5KfOumDI5vxeC4VrSq5kU1xpi6EhnehIv6tOeiPu0BT7/Dmh0HWZmRy5bdh4gMr/uhq161EERkDPA0EAhMV9W/l9sfArwKDAIOANeoaoaz7yFgClAC/FJVP/emzor4woNpxhjjb2ptxTQRCQSmAWOB3sAkEeldrtgUIE9VE4CngCecY3sDE4E+wBjgWREJ9LJOY4wx9cib56qHACmqmqaqJ4DZwPhyZcYDM53Xc4DR4umZHQ/MVtVCVU0HUpz6vKnTGGNMPfImIUQDWWXeZzvbKiyjqsVAPhB1imO9qRMAEblVRJJFJDknJ8eLcI0xxlSHNwmhojGY5TseKitzutt/vFH1BVVNVNXENm3anDJQY4wx1edNQsgGYsu8jwF2VVZGRIKAFkDuKY71pk5jjDH1yJuEsBLoJiLxItIETydxUrkyScBk5/UEYJ56hi8lARNFJERE4oFuwAov6zTGGFOPqnwOQVWLReQu4HM8Q0RfUtVNIvIYkKyqScAMYJaIpOBpGUx0jt0kIm8Dm4Fi4E5VLQGoqM7aPz1jjDHeahRPKhtjTGPWIKeuEJEcILOah7cG9tdiOHXJn2IF/4rXn2IF/4rXn2IF/4q3prF2VtUqR+X4VUKoCRFJ9iZD+gJ/ihX8K15/ihX8K15/ihX8K976itU3Fvw0xhjjOksIxhhjgMaVEF5wO4DT4E+xgn/F60+xgn/F60+xgn/FWy+xNpo+BGOMMafWmFoIxhhjTsESgjHGGKARJAQR+YeIbBWR9SLyvohEltn3kIikiMg2EbnIzThPEpExTjwpIvKg2/GUJSKxIjJfRLaIyCYRucfZ3kpEvhSR7c7/tnQ71rKcNTjWiMhc5328iCx34n3LmT7FdSISKSJznH+vW0TkHF++tiLya+ffwUYReVNEQn3l2orISyKyT0Q2ltlW4bUUj387f3PrRWSgj8Rb799dDT4hAF8CfVW1H/Ad8BBUvniPa1Hi9WJEbioG7lPVXsDZwJ1OfA8CX6tqN+Br570vuQfYUub9E8BTTrx5eBZ48gVPA5+pak/gTDwx++S1FZFo4JdAoqr2xTMFzUR859q+gufvuqzKruVYPPOsdQNuBZ6rpxjLeoUfx1vv310NPiGo6hfOGg0Ay/DMrAqVL97jJp9eOEhVd6vqauf1YTxfWNH8cIGkmcDl7kT4YyISA1wCTHfeC3A+noWcwEfiFZEI4Dw884KhqidU9SA+fG3xzIUW5sxwHA7sxkeurap+g2detbIqu5bjgVfVYxkQKSId6idSj4rideO7q8EnhHJuAj51Xnu9SE898sWYKiQiccAAYDnQTlV3gydpAG3di+xHpgIPAKXO+yjgYJk/NF+5xl2AHOBl5/bWdBFpio9eW1XdCTwJ7MCTCPKBVfjmtT2psmvpD3939fLd1SASgoh85dzHLP/f+DJlfo/nlsfrJzdVUJXbY3B9MaYfEZFmwLvAr1T1kNvxVEZExgH7VHVV2c0VFPWFaxwEDASeU9UBwFF85PZQRZz77+OBeKAj0BTPrZfyfOHaVsVX/00A9fvdVeX01/5AVS841X4RmQyMA0br/x688MVFenwxph8QkWA8yeB1VX3P2bxXRDqo6m6nqb3PvQh/YBhwmYhcDIQCEXhaDJEiEuT8kvWVa5wNZKvqcuf9HDwJwVev7QVAuqrmAIjIe8BQfPPanlTZtfTZv7v6/u5qEC2EUxGRMcBvgctU9ViZXZUt3uMmn144yLn/PgPYoqr/KrOr7AJJk4EP6zu2iqjqQ6oao6pxeK7lPFX9OTAfz0JO4CPxquoeIEtEejibRuNZR8Qnry2eW0Vni0i48+/iZLw+d23LqOxaJgHXO6ONzgbyT95acpMr312q2qD/w9PhkgWsdf57vsy+3wOpwDZgrNuxOjFdjGdEQSrwe7fjKRfbcDxN0/VlrufFeO7Lfw1sd/63lduxVhD7SGCu87qL8weUArwDhLgdnxNXfyDZub4fAC19+doCfwK2AhuBWUCIr1xb4E08fRtFeH5RT6nsWuK5BTPN+ZvbgGfklC/EW+/fXTZ1hTHGGKAR3DIyxhjjHUsIxhhjAEsIxhhjHJYQjDHGAJYQjDHGOCwhGGOMASwhGGOMcfw/xIEaqhOmregAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x67d50810>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x67a383f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "x = np.linspace(-20,120)\n",
    "y = stats.norm.pdf(x, loc=50, scale=25)\n",
    "ax.plot(x,y,'-',label='pdf of norm ')\n",
    "ax.legend(loc='best',frameon=True)\n",
    "\n",
    "plt.title(r'Normal Distribution')\n",
    "\n",
    "binom_pmf(n=100, p=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們把它們放在一起看實際上，兩服圖已經長的十分相近了。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x67a284d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# -*- coding: utf-8 -*-\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from scipy import stats\n",
    "\n",
    "\"\"\"\n",
    "Created on Sun Nov 12 08:44:37 2017\n",
    "\n",
    "@author: Belter\n",
    "\"\"\"\n",
    "\n",
    "\n",
    "def sampling2pmf(n, dist, t=10000):\n",
    "    \"\"\"\n",
    "    n: sample size for each experiment\n",
    "    t: how many times do you do experiment, fix in 10000\n",
    "    dist: frozen distribution\n",
    "    \"\"\"\n",
    "    ber_dist = dist\n",
    "    sum_of_samples = []\n",
    "    for i in range(t):\n",
    "        samples = ber_dist.rvs(size=n)  # 与每次取一个值，取n次效果相同\n",
    "        sum_of_samples.append(np.sum(samples))\n",
    "    val, cnt = np.unique(sum_of_samples, return_counts=True)\n",
    "    pmf = cnt / len(sum_of_samples)\n",
    "    return val, pmf\n",
    "\n",
    "\n",
    "def plot(n, dist, subplot, plt_handle):\n",
    "    \"\"\"\n",
    "    :param n: sample size\n",
    "    :param dist: distribution of each single sample\n",
    "    :param subplot: location of sub-graph, such as 221, 222, 223, 224\n",
    "    :param plt_handle: plt object\n",
    "    :return: plt object\n",
    "    \"\"\"\n",
    "    bins = 10000\n",
    "    plt = plt_handle\n",
    "    plt.subplot(subplot)\n",
    "    mu = n * dist.mean()\n",
    "    sigma = np.sqrt(n * dist.var())\n",
    "    samples = sampling2pmf(n=n, dist=dist)\n",
    "    plt.vlines(samples[0], 0, samples[1],\n",
    "               colors='g', linestyles='-', lw=3)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title('Sum of bernoulli dist. (n={})'.format(n))\n",
    "    # normal distribution\n",
    "    norm_dis = stats.norm(mu, sigma)\n",
    "    norm_x = np.linspace(mu - 3 * sigma, mu + 3 * sigma, bins)\n",
    "    pdf1 = norm_dis.pdf(norm_x)\n",
    "    plt.plot(norm_x, pdf1, 'r--')\n",
    "    return plt\n",
    "\n",
    "size = [1, 4, 20, 80, 200, 1000]\n",
    "\n",
    "# sum of bernoulli distribution\n",
    "dist_type = 'bern'\n",
    "bern_para = [0.5]\n",
    "single_sample_dist = stats.bernoulli(p=bern_para[0])  # 定义一个伯努利分布\n",
    "\n",
    "# 下面是利用matplotlib画图\n",
    "plt.figure(1)\n",
    "plt = plot(n=size[0], dist=single_sample_dist, subplot=321, plt_handle=plt)\n",
    "plt = plot(n=size[1], dist=single_sample_dist, subplot=322, plt_handle=plt)\n",
    "plt = plot(n=size[2], dist=single_sample_dist, subplot=323, plt_handle=plt)\n",
    "plt = plot(n=size[3], dist=single_sample_dist, subplot=324, plt_handle=plt)\n",
    "plt = plot(n=size[4], dist=single_sample_dist, subplot=325, plt_handle=plt)\n",
    "plt = plot(n=size[5], dist=single_sample_dist, subplot=326, plt_handle=plt)\n",
    "plt.tight_layout()\n",
    "plt.savefig('sum_of_{}_dist.png'.format(dist_type), dpi=200)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由上圖可以看出，增加試驗次數和x軸上的分割區間的個數後，隨機變量之和與正態分佈之間的重合度隨著樣本量的增加而增高。這就很容易解釋：對於隨機變量的分佈，抽樣次數（試驗次數）越多，最終畫出來的圖越能代表整個分佈。但是抽樣次數本事卻不影響該分佈的類型和參數。**抽樣不會影響真實分佈，只會影響樣本分佈**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 三大抽樣分佈\n",
    "\n",
    "抽樣分佈就是統計量的分佈其特點是不包含位置參數且儘可能多的去包含樣本信息。除了常見的整台分佈之外，還有卡方分佈、t分佈和F分佈為最常見的描述抽樣分佈的分佈函數。我們常說的卡方檢驗、t檢驗和F檢驗和這三個分佈有關。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### $\\chi^2$分佈\n",
    "\n",
    "##### 定義\n",
    "\n",
    "設$X_1,X_2,\\dots, X_n$ i.i.d.~$N(0,1)$，令$X = \\displaystyle \\sum^n_{i=1}X^2_i$，則稱$X$是自由度為$n$的$\\chi^2$變量，其分佈稱為自由度為$n$的$\\chi^2$分佈，記做$X～\\chi^2_n$<br>\n",
    "\n",
    "我們設隨機變量$X$是自由度為$n$的$\\chi^2$隨機變量，則其概率密度函數為：\n",
    "<br>\n",
    "<center>\n",
    "    $\\begin{equation}\n",
    "g_n(x) = \n",
    "\\left\\{\n",
    "             \\begin{array}{lr}\n",
    "             \\frac{1}{2^{\\frac{n}{2}}\\Gamma(\\frac{n}{2})} x^{\\frac{n}{2}-1} e^{-\\frac{x}{2}} \\ \\ & x > 0 \\\\ \n",
    "             0 \\ \\ & x \\leq 0\n",
    "             \\end{array}\n",
    "\\right.\n",
    "\\end{equation}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "$\\chi^2_n$的密度函數$g_n(x)$形狀如下："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[  1.47874346   9.34181777  29.58829845]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x67d13850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def chi2_distribution(df = 1):\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "\n",
    "    x = np.linspace(stats.chi2.ppf(0.001, df),\n",
    "                    stats.chi2.ppf(0.999, df), 200)\n",
    "    ax.plot(x, stats.chi2.pdf(x, df), 'r-',\n",
    "            lw=5, alpha=0.6, label=r'$\\chi^2$ pdf')\n",
    "    \n",
    "    chi2_dis = stats.chi2(df=df)\n",
    "    ax.plot(x, chi2_dis.pdf(x), 'k-',\n",
    "            lw=2, label='frozen pdf')\n",
    "    vals = chi2_dis.ppf([0.001, 0.5, 0.999])\n",
    "    print(vals)  # [ 2.004  4.     5.996]\n",
    "\n",
    "    r = chi2_dis.rvs(size=1000)\n",
    "    ax.hist(r, normed=True, histtype='stepfilled', alpha=0.2)\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of $\\chi^2$({})'.format(df))\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.show()\n",
    "    \n",
    "chi2_distribution(df=10)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6797d8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def diff_chi2_dis():\n",
    "    \"\"\"\n",
    "    不同参数下的卡方分布\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    # chi2_dis_0_5 = stats.chi2(df=0.5)\n",
    "    chi2_dis_1 = stats.chi2(df=1)\n",
    "    chi2_dis_4 = stats.chi2(df=4)\n",
    "    chi2_dis_10 = stats.chi2(df=10)\n",
    "    chi2_dis_20 = stats.chi2(df=20)\n",
    "\n",
    "    # x1 = np.linspace(chi2_dis_0_5.ppf(0.01), chi2_dis_0_5.ppf(0.99), 100)\n",
    "    x2 = np.linspace(chi2_dis_1.ppf(0.65), chi2_dis_1.ppf(0.9999999), 100)\n",
    "    x3 = np.linspace(chi2_dis_4.ppf(0.000001), chi2_dis_4.ppf(0.999999), 100)\n",
    "    x4 = np.linspace(chi2_dis_10.ppf(0.000001), chi2_dis_10.ppf(0.99999), 100)\n",
    "    x5 = np.linspace(chi2_dis_20.ppf(0.00000001), chi2_dis_20.ppf(0.9999), 100)\n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    # ax.plot(x1, chi2_dis_0_5.pdf(x1), 'b-', lw=2, label=r'df = 0.5')\n",
    "    ax.plot(x2, chi2_dis_1.pdf(x2), 'g-', lw=2, label='df = 1')\n",
    "    ax.plot(x3, chi2_dis_4.pdf(x3), 'r-', lw=2, label='df = 4')\n",
    "    ax.plot(x4, chi2_dis_10.pdf(x4), 'b-', lw=2, label='df = 10')\n",
    "    ax.plot(x5, chi2_dis_20.pdf(x5), 'y-', lw=2, label='df = 20')\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of $\\chi^2$ Distribution')\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.show()\n",
    "\n",
    "diff_chi2_dis()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通過上圖可以看出，當自由度df等於1時，函數突襲那個呈現單調遞減的趨勢；當df大於等於3後，呈現先增後減的缺失。從定義中得出，$df \\geq 0$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### t分佈\n",
    "\n",
    "t分佈又名「學生t分佈（Student's t-distribution），用於根據小樣本來估計呈正態分佈且方差位置的總體的均值。如果總體方差已知（例如在樣本數量足夠多時），則應該用正態分佈來估計總體均值。\n",
    "\n",
    "##### 定義：\n",
    "\n",
    "設隨機變量$X～N(0,1),Y～\\chi^2_n$，且$X$和$Y$獨立，則稱：\n",
    "<br>\n",
    "<center>\n",
    "    $T = \\frac{X}{\\sqrt{Y/n}}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "為自由度為$n$的$t$變量，其分佈稱為由為$n$的t分佈，記做$T～t_n$\n",
    "<br>\n",
    "\n",
    "設隨機變量$T～t_n$，則其密度函數為：\n",
    "<br>\n",
    "<center>\n",
    "    $t_n(x) = \\frac{\\Gamma(\\frac{n+1}{2})}{\\Gamma(\\frac{n}{2}\\sqrt{n\\pi}} (1 + \\frac{x^2}{n})^{-\\frac{n+1}{2}}, \\ -\\infty < x < \\infty$\n",
    "</center>\n",
    "<br>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x67d4c630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def diff_t_dis():\n",
    "    \"\"\"\n",
    "    不同参数下的t分布\n",
    "    :return:\n",
    "    \"\"\"\n",
    "    norm_dis = stats.norm()\n",
    "    t_dis_1 = stats.t(df=1)\n",
    "    t_dis_4 = stats.t(df=4)\n",
    "    t_dis_10 = stats.t(df=10)\n",
    "    t_dis_20 = stats.t(df=20)\n",
    "\n",
    "    x1 = np.linspace(norm_dis.ppf(0.000001), norm_dis.ppf(0.999999), 1000)\n",
    "    x2 = np.linspace(t_dis_1.ppf(0.04), t_dis_1.ppf(0.96), 1000)\n",
    "    x3 = np.linspace(t_dis_20.ppf(0.001), t_dis_20.ppf(0.999), 1000)\n",
    "    \n",
    "    fig, ax = plt.subplots(1, 1)\n",
    "    ax.plot(x1, norm_dis.pdf(x1), '--', lw=2, label=r'N(0, 1)')\n",
    "    ax.plot(x2, t_dis_1.pdf(x2), 'b-', lw=2, label='t(1)')\n",
    "    ax.plot(x3, t_dis_20.pdf(x3), 'y-', lw=2, label='t(20)')\n",
    "    \n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of t Distribution')\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.show()\n",
    "\n",
    "diff_t_dis()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$t_n$的密度函數與標準正態分佈$N(0,1)$密度很相似，他們都是關於原點對稱，單峰的偶函數，在$x=0$處達到極大，但$t_n$的峰值低於$N(0,1)$的峰值，$t_n$的密度函數圍捕都要比$N(0,1)$的兩側尾部促一些。容易證明：$\\lim_{n\\rightarrow \\infty}t_n(x) = \\varphi (x)$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### F 分佈\n",
    "在概率論和統計學中，F-分佈（F-Distribution）是一種連續概率分佈，被廣泛應用於死然比率檢驗。\n",
    "<br>\n",
    "\n",
    "設隨機變量$X～\\chi^2_m$，$Y～\\chi^2_n$，且$X$ 和 $Y$ 獨立，則稱：\n",
    "<br>\n",
    "<center>\n",
    "    $F=\\frac{X/m}{Y/n}$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "為自由度分別為$m$和$n$的$F$變量，其分佈稱為自由度分別是$m$和$n$的F分佈，記做$F～F_{m,n}$<br>\n",
    "\n",
    "若隨機變量$Z～F_{m,n}$，則其密度函數為：\n",
    "<br>\n",
    "<center>\n",
    "    $\\begin{equation}\n",
    "f_{m,n}(x) = \n",
    "\\left\\{\n",
    "             \\begin{array}{lr}\n",
    "             \\frac{\\Gamma(\\frac{m+n}{2}\\Gamma(\\frac{n}{2})\\Gamma(\\frac{m}{2})}m^{\\frac{m}{2}} n^{\\frac{n}{2}} x {\\frac{m}{2} - 1}(n+mx)^{-\\frac{m+n}{2}}, \\ & x>0 \\\\ \n",
    "             0 \\ \\ & elsewhere\n",
    "             \\end{array}\n",
    "\\right.\n",
    "\\end{equation}$\n",
    "</center>\n",
    "<br>\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x67a1ec50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def diff_f_dis():\n",
    "    \"\"\"\n",
    "    不同参数下的F分布\n",
    "    :return:\n",
    "    \"\"\"\n",
    "#    f_dis_0_5 = stats.f(dfn=10, dfd=1)\n",
    "    f_dis_1_30 = stats.f(dfn=1, dfd=30)\n",
    "    f_dis_30_5 = stats.f(dfn=30, dfd=5)\n",
    "    f_dis_30_30 = stats.f(dfn=30, dfd=30)\n",
    "    f_dis_30_100 = stats.f(dfn=30, dfd=100)\n",
    "    f_dis_100_100 = stats.f(dfn=100, dfd=100)\n",
    "\n",
    "#    x1 = np.linspace(f_dis_0_5.ppf(0.01), f_dis_0_5.ppf(0.99), 100)\n",
    "    x2 = np.linspace(f_dis_1_30.ppf(0.2), f_dis_1_30.ppf(0.99), 100)\n",
    "    x3 = np.linspace(f_dis_30_5.ppf(0.00001), f_dis_30_5.ppf(0.99), 100)\n",
    "    x4 = np.linspace(f_dis_30_30.ppf(0.00001), f_dis_30_30.ppf(0.999), 100)\n",
    "    x6 = np.linspace(f_dis_30_100.ppf(0.0001), f_dis_30_100.ppf(0.999), 100)\n",
    "    x5 = np.linspace(f_dis_100_100.ppf(0.0001), f_dis_100_100.ppf(0.9999), 100)\n",
    "    fig, ax = plt.subplots(1, 1, figsize=(20, 10))\n",
    "#    ax.plot(x1, f_dis_0_5.pdf(x1), 'b-', lw=2, label=r'F(0.5, 0.5)')\n",
    "    ax.plot(x2, f_dis_1_30.pdf(x2), 'g-', lw=2, label='F(1, 30)')\n",
    "    ax.plot(x3, f_dis_30_5.pdf(x3), 'r-', lw=2, label='F(30, 5)')\n",
    "    ax.plot(x4, f_dis_30_30.pdf(x4), 'm-', lw=2, label='F(30, 30)')\n",
    "    ax.plot(x6, f_dis_30_100.pdf(x6), 'c-', lw=2, label='F(30, 100)')\n",
    "    ax.plot(x5, f_dis_100_100.pdf(x5), 'y-', lw=2, label='F(100, 100)')\n",
    "\n",
    "    plt.ylabel('Probability')\n",
    "    plt.title(r'PDF of f Distribution')\n",
    "    ax.legend(loc='best', frameon=False)\n",
    "    plt.savefig('f_diff_pdf.png', dip=500)\n",
    "    plt.show()\n",
    "\n",
    "diff_f_dis()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "F 變量具有如下**性質**：\n",
    "1. 若$Z～F_{m,n}$，則$1/Z～F_{n,m}$<br>\n",
    "2. 若$T～t_n$，則$T^2～F_{1,n}$<br>\n",
    "3. $F_{m,n}(1-\\alpha) = 1/F_{n,m}(\\alpha)$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 正態總體樣本均值和樣本方差的分佈\n",
    "\n",
    "為了方便討論正態總題樣本均值和樣本方差的分佈，我們先給出正態隨機變量的線性函數的分佈。\n",
    "<br>\n",
    "\n",
    "#### 正態變量線性函數的分佈\n",
    "\n",
    "設隨機變量$X_1,\\dots,X_n \\ i.i.d.～N(a,\\sigma^2), c_1,c_2,\\dots,c_n$為常數，則有\n",
    "<br>\n",
    "<center>\n",
    "    $T = \\displaystyle \\sum^n_{k=1}c_k X_k ～N(a \\sum^n_{k=1}c_k, simga^2\\sum^n_{k=1}c_k^2)$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "特別的，當$c_1 = \\dots = c_n = \\frac{1}{n}$，即：$T = \\frac{1}{n} \\displaystyle \\sum^n_{i=1}X_i = \\bar{X}$時，有\n",
    "<br>\n",
    "<center>\n",
    "    $\\bar{X}～N(a,\\sigma^2/n)$\n",
    "</center>\n",
    "<br>\n",
    "\n",
    "#### 正態分佈樣本均值和樣本方差的分佈\n",
    "\n",
    "設$X_1,\\dots,X_n \\ i.i.d.～N(\\mu,\\sigma^2),\\bar{X} = \\frac{1}{n} \\displaystyle \\sum^n_{i=1}X_i$ 和 樣本方差，則有<br>\n",
    "1. $\\bar{X}～N(a,\\frac{1}{n}\\sigma^2)$;\n",
    "2. $(n-1)S^2/sigma^2～\\chi^2_{n-1}$;\n",
    "3. $\\bar{X}$和$S^2$獨立."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 正態分佈（Normal Distribution）\n",
    "\n",
    "在生活中，我們經常會用到正態分佈，這是一個墳場常見的連續概率分佈（Continuous probability distribution)，這是因為 CLT 的存在(Central Limited Theorem)。\n",
    "\n",
    "#### 定義\n",
    "如果一個隨機變量(Random Variable) $X$ 服從一個位置參數為$\\mu$， 尺度參數為 $\\sigma$ 的正態分佈，那麼我們記做：\n",
    "\n",
    "$$ X \\sim N(\\mu, \\sigma^2)$$\n",
    "\n",
    "她的概率密度函數(PDF:Probability Density Function):\n",
    "\n",
    "$$f(x) = \\frac{1}{\\sigma^2 \\sqrt{2\\pi}} e^ {-\\frac{(x - \\mu)^2}{2\\sigma^2}}$$\n",
    "\n",
    "在正態分佈中，她的 expectation 等於她的位置參數，決定了分佈曲線的中心位置；其方差 $\\sigma^2$ 則決定了尺度、決定了分佈的幅度：「高矮胖瘦」\n",
    "常態分布的機率密度函數曲線呈鐘形，因此人們又經常稱之為鐘形曲線（类似于寺庙里的大钟，因此得名）。我們通常所說的標準常態分布是位置參數\n",
    "$\\mu =0$，尺度參數 $\\sigma^2 = 1$的正態分佈。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXlc1WX2+N8Plx0EZXMBWSUFBHHJDTS30pQ052tlRtlMM6XVZPVtsV9NNTPNTE3zrWxGZ6aZVsscyzGXTHPNUMyVRASVTQQ3wAUB2Z/fH58LXRDkAhfuwvN+ve7r3s/n8yzncvV8zuc85zlHSClRKBQKRffAztwCKBQKhaLrUEpfoVAouhFK6SsUCkU3Qil9hUKh6EYopa9QKBTdCKX0FQqFohuhlL6iWyCEeFUI8WkHxygVQoSaSJ7/J4T4t/5zsBBCCiHsTTR2oF5WnSnGU9gWSukrTIIQIlcIcUEI4WZw7pdCiJ1mFMsohBAThBB1ekVZKoTIF0KsEkLcbNhOSukupcw2Yqz81uaUUv5RSvnLjsqunzNXCDHFYOw8vay1phhfYVsopa8wJTpgUUcHERpd/W/zjJTSHegBjAYygO+FEJNNPZGpLHqFoj0opa8wJW8CzwghejZ3UQgxVgixXwhxRf8+1uDaTiHEH4QQu4FyIFR/7jUhxB69Bb5eCOEthPhMCFGiHyPYYIwlQojT+msHhRDj2voFpEa+lPJl4N/AGwbjSyHEAP3n6UKIY0KIq0KIAiHEM/qnnG+AfgZPDf30rqUvhRCfCiFKgAdbcDf9QghxRghxVgjxjMG8HwkhXjM4bniaEEIsBwKB9fr5nmvqLtLLsE4IcVEIkSmE+JXBWK/qn2o+0X+XNCHEiLb+3RTWg1L6ClNyANgJPNP0ghDCC/gaeBfwBt4CvhZCeBs0ux94GM3aPqU/N1d/3h8IA5KBDwEvIB14xaD/fiBWf20F8IUQwrkD3+e/wDBDl5UB7wOPSCl7AIOB7VLKMuB29E8N+tcZfftZwJdAT+CzFuabCIQDtwHPG7psWkJKeT+QB9yhn+/PzTRbCeQD/YA5wB+FEJMMrs/Ut+kJrAP+1tq8CutFKX2FqXkZ+LUQwrfJ+RnASSnlcilljZTyczQXyh0GbT6SUqbpr1frz30opcySUl5Bs6KzpJRbpZQ1wBfA0PrOUspPpZTF+v7/BzgBAzvwXc4AAk0ZNqUaiBRCeEgpL0kpD7UyVrKU8ispZZ2U8loLbX4rpSyTUqai3djubb/oGkKI/kAc8LyUskJKmYL2BPOAQbMkKeVG/RrAcmBIR+dVWC5K6StMipTyKLABWNzkUj9+st7rOYVmwddzupkhzxt8vtbMsXv9gd7Fkq53H10GPAGftn2DRvgDErjczLX/AaYDp4QQ3wkhxrQyVnPf7UZtTqH9zTpKP+CilPJqk7EN/+7nDD6XA85q3cF2UUpf0Rm8AvyKxorlDBDUpF0gUGBw3O6Ur3r//XPA3UAvKWVP4Aqapd5eZgOH9G6bRkgp90spZwF+wFfAqvpLLYxlzHfrb/A5EO1vBlAGuBpc69OGsc8AXkKIHk3GLmihvcLGUUpfYXKklJnAf4AnDE5vBG4SQswTQtgLIe4BItGeCkxBD6AGKATshRAvAx5tHUQfOeQvhHgF+CXw/5pp4yiEuE8I4al3Q5UAdfrL5wFvIYRnO77Db4QQrkKIKODnaH9DgBRguhDCSwjRB3iySb/zQLP7B6SUp4E9wJ+EEM5CiBjgIaBDexYU1otS+orO4ndAwwKolLIYSAD+FyhGs8oTpJRFJppvM7AJOIHmvqjAOJdKPf2EEKVAKdqCcDQwQUr5bQvt7wdy9dE4C4D7AKSUGcDnQLYQ4rIQoi0umu+ATGAb8BeDuZcDPwK5wLf8dDOo50/AS/r5rltER1sbCEaz+tcAr0gpt7ZBLoUNIVQRFYVCoeg+KEtfoVAouhFK6SsUCkU3Qil9hUKh6EYopa9QKBTdCIvbgOHj4yODg4PNLYZCoVBYFQcPHiySUjbdCX8dFqf0g4ODOXDggLnFUCgUCqtCCNF0x3uzKPeOQqFQdCOU0lcoFIpuhFL6CoVC0Y2wOJ9+c1RXV5Ofn09FRYW5RVGYCGdnZwICAnBwcDC3KApFt8IopS+EmAYsQSuH928p5esttPsftEIRN0spD+jPvYCW4KkWeEJKubmtQubn59OjRw+Cg4MRoiNJExWWgJSS4uJi8vPzCQkJMbc4CkW3olX3jhBCByxFqwgUCdwrhIhspl0PtPqoPxici0SrfBQFTAOW6cdrExUVFXh7eyuFbyMIIfD29lZPbgqFGTDGpz8SyJRSZkspq9DKqs1qpt3v0eqJGv5PngWslFJWSilz0DIIjmyPoErh2xbq91QozIMxSt+fxilq82lcHAMhxDCgv5Ty67b2VSgUikZkfA1pX0FNlbklsUk6vJArhLBDK3L9YAfGeBitIDaBgYEdFcls7Ny5k7/85S9s2LCByspKZsyYQVFRES+88AL33HNPq/0zMjKYO3cuQgi+/PJLwsLCukBqRUvU1kne3XaS3OLrCmcBcPvgvkwb3LSIlaLdSAnf/wW2v6Ydu/pA7L0wbD74hJtXNhvCGKVfQOMybgE0LrXWAxgM7NQ/svcB1gkhZhrRFwAp5XvAewAjRoywiQT/hw8fBiAlJcXoPl999RVz5szhpZdeMqksNTU12NtbRaCWRbFk6wne3Z5Jfy8XdE3cUaWVNXx95CwrHx7NiGAvM0loQ9TVweYX4Id/QMw9EH0XHPoY9v4d9vwVguI05R85ExxczC2tVWOMJtgPhAshQtAU9lxgXv1FKeUVDIpPCyF2As9IKQ8IIa4BK4QQb6EVaA4H9plO/K4hNzeXadOmMXz4cA4dOkRUVBSffPIJrq6ubNq0iSeffBJXV1fi4+MBuHDhAomJiRQWFhIbG8vq1asbWe0pKSksWLCA8vJywsLC+OCDD0hOTuadd95Bp9Oxbds2duzY0UgGd3d3Fi1axIYNG3BxcWHt2rX07t2b3NxcfvGLX1BUVISvry8ffvghgYGBPPjggzg7O3P48GHi4uLw8PAgJyeH7Oxs8vLyePvtt9m7dy/ffPMN/v7+rF+/XoVPGrA94zzvbs/k7hEB/HnOkOuuX7lWzcy/JfHYikNs+PU4fHs4mUFKG6GmCr5aCEe/hNGPwW2vgZ0dhN8KV8/Djyvg0Cew5mFIehse3gkOzuaW2nqRUrb6AqajlaHLAl7Un/sdMLOZtjuBEQbHL+r7HQdub22u4cOHy6YcO3bsunNdSU5OjgRkUlKSlFLKn//85/LNN9+U165dkwEBAfLEiROyrq5O3nXXXXLGjBlSSil37NjR8Lkp0dHRcufOnVJKKX/zm9/IRYsWSSmlfOWVV+Sbb77ZbB9Arlu3Tkop5bPPPit///vfSymlTEhIkB999JGUUsr3339fzpo1S0op5fz58+WMGTNkTU1Nw9hxcXGyqqpKpqSkSBcXF7lx40YppZR33nmnXLNmTcf+SO3A3L9rS+QVl8mYVzfL29/ZJa9V1bTYLq3girzpxY1y7j+TZXVNbRdKaENUlkr5yWwpX/GQ8vu3pKyra75dba2UR77Q2u18o2tltBKAA9IIfW7Ujlwp5UYp5U1SyjAp5R/0516WUq5rpu0EqY/R1x//Qd9voJTym/bdmsxP//79iYuLAyAxMZGkpCQyMjIICQkhPDwcIQSJiYmtjnPlyhUuX77MLbfcAsD8+fPZtWtXq/0cHR1JSEgAYPjw4eTm5gKQnJzMvHnag9f9999PUlJSQ5+77roLne6nCNnbb78dBwcHoqOjqa2tZdq0aQBER0c3jNfdqaiuZeFnB5FS8o/E4Tg7tBxhHNnPgz/MjiY5u5j/23KiC6W0EcovwsczIXsHzPwrxD8FLUV12dlB9ByImg3f/x9cyu1SUW0JlYbBSJqGGHZ1yKGDg0PDnDqdjpqamlb7uLm5NTp2ctJcEHZ2do3Gs7OzM2q87sBv16dxtKCEt+6OJdDbtdX2c4YHcO/IQP6+M4tv0851gYQ2QnUFfDgdzqXC3cth2APG9bvtDyB08M3izpXPhlFK30jy8vJITk4GYMWKFcTHxzNo0CByc3PJysoC4PPPP291HE9PT3r16sX3338PwPLlyxus/vYwduxYVq5cCcBnn33GuHHj2j0WwAsvvMCaNWs6NIa1surAaT7fd5rHJoYxJbK30f1euSOSaH9P/nfVj+QWNR/po2jCjyugMB3u+hAiEozv5+kPExbDiW/guNU6DsyKUvpGMnDgQJYuXUpERASXLl1i4cKFODs789577zFjxgyGDRuGn5+fUWN9/PHHPPvss8TExJCSksLLL7/cbrn++te/8uGHHxITE8Py5ctZsmRJu8cCSE1NpU+f7heGeLTgCr/56ihxA7x5+taBberr7KBj2X3DsLMTLPj0INeqajtJShuhtgZ2L4F+w2Dg9Lb3H70QfAfBN89D9TXTy2frGOP478qXpS7kRkVFmVWGruK2227rsrnM/bvWc7WiWo57Y7sc9YetsvBqRbvH2Z5xXgYv3iCf/SLFhNLZIPULssfWtX+M7F3aGNteM51cVg6mXMhVdB82b25zPjyrZ9X+0+RdLGfJ3Fh83NsfejlxoB+/jA9h1YF8TrWwoavbI6UWdukzEAbOaP84IeO0WP7d70Bxlunk6wZY3Y6d365P49iZEpOOGdnPg1fuiGrxenBwMEePHjXpnArLQErJZz+cIrZ/T0aFend4vIfiQ/lgdy4rfsjjhekRJpDQxjj5LZw/Cnf+Q4vI6Qi3vQbHN8E3z8F9X7Yc+aNohLL0Fd2a5OxisgrLSBwdZJLx+ng6c2tEb1YdOE1FtfLtN0JKLdzSM1ALv+woPfrAxP8HmVshY0PHx+smWJ2lfyOLvDvwpz/9iffffx+dTse7777L1KlTOzymu7s7paWlHRpj165dPPnkkxw5coSVK1cyZ44J/lN3AZ/uPUVPVwcSYvqabMz7xwSxKe0cG1PP8rNhASYb1+o5tQdO/wC3vwk6E+3+HvkwHP5UC+EMvw3s1c7o1lCWvhVx7NgxVq5cSVpaGps2beLRRx+lttYyrMnAwEA++uijho1i1sCFkgq+TTvPXcMDbrgJq62MDfMm1MeNT/eeMtmYNkHSW1oStaGtb2I0Gp093PpbKMmHE5tMN64No5R+O3B3d+fZZ58lKiqKKVOmsG/fPiZMmEBoaCjr1mmblD/66CMef/zxhj4JCQns3LmzQ/OuXbuWuXPn4uTkREhICAMGDGDfvhunMlq8eDGRkZHExMTwzDPPAJCTk8OYMWOIjo42WXK34OBgYmJisOuon7YLWbn/NDV1kvtGmca1U48QgvtGB3Eo7zJpZ66YdGyr5eyPmhtm9EJwbH3TW5sImwTufSCl9X0yCqX020VZWRmTJk0iLS2NHj168NJLL7FlyxbWrFnT5pj7p556itjY2Oter79+fUXKgoIC+vf/KWlpQEAABQXXJS1toLi4mDVr1pCWlsaRI0caFPyiRYtYuHAhqamp9O3bsltj3Lhxzcq2devWNn1HS6Smto4VP+QxLtyHYB+31ju0kTnDAnB2sOPTvXkmH9sqSXobnDzg5l+afmw7HcTcDZlboLTQ9OPbGFbn07cEHB0dG+WtcXJyashp09YcNm+//XYnSKjh6emJs7MzDz30EAkJCQ25e3bv3s3q1asBLV/P888/32z/+l3Dtsi2jAucK6ngt7M6Z43I09WBO2L68dXhAl6YPggP526cwbQ4C46thbhF4NKzc+YYci/seReOrobRCzpnDhtBWfrtoGneGsOcNvU5bOzt7amrq2vo01I92LZY+v7+/pw+/VMhsvz8fPz9Wy5EZm9vz759+5gzZw4bNmxouFGBcbmDbNnS/3TvKfp6OjN5kHG7qNvD/WOCuFZdy5pDLT+NdQt2vwM6Rxj9aOfN0TsS+g6BH5WLpzWUpd9JBAcHs2zZMurq6igoKGjR994WS3/mzJnMmzePp59+mjNnznDy5ElGjtRKDk+ePJlPPvmk0U2gtLSU8vJypk+fTlxcHKGhoQDExcWxcuVKEhMT+eyzz1qcz1Yt/ZyiMr4/WcTTt96Eva7z7J6YgJ7EBHjy6d5TPDAmqHvWBS45q/nah88H9867wQKatb9pMVxIBz+1R6IllKXfScTFxRESEkJkZCRPPPEEw4YN6/CYUVFR3H333URGRjJt2jSWLl2KTqejrq6OzMxMvLwaV3C6evUqCQkJxMTEEB8fz1tvvQXAkiVLWLp0KdHR0TdcE2gL+/fvJyAggC+++IJHHnmEqCjLDa1d8cMp7O0Ec2/u33rjDpI4OoiTF0r5Iedip89lkRxdDXXVnWvl1zN4jpaB88eVnT+XFSO0lA2Ww4gRI+SBAwcanUtPTyciQt25W+Lo0aN88MEHDUrdWjDH71pRXcuoP24jfoAPS+/r+I24Na5V1TLqj1sZf5Mvf5vX+fNZHO/fpiVFW9BFT40r7oGzR+Cpo9oCbzdCCHFQSjmitXZGWfpCiGlCiONCiEwhxHWJrIUQC4QQqUKIFCFEkhAiUn8+WAhxTX8+RQjxj7Z/FUVrDB482OoUvrnYcOQsV65Vc9/owC6Zz8VRx5zh/dl09BwXrja/rmOzlJzRNmNFzuy6OYfMhatnIKf1wkTdlVaVvhBCBywFbgcigXvrlboBK6SU0VLKWODPgKEGypJSxupfalldYVY+3XuKMF83xpggz46x3Dc6kJo6yar9p1tvbEukr9feI+/sujlvuh2cPdWC7g0wxtIfCWRKKbOllFXASmCWYQMppWEGNDfAsnxGCgVazvyU05dJHN21i6phvu7EDfBmxQ951NTWtd7BVji2DnwjwCe86+Z0cIaon2k3nMqrXTevFWGM0vcHDE2UfP25RgghHhNCZKFZ+k8YXAoRQhwWQnwnhGi2rJMQ4mEhxAEhxIHCQrW5QtE5rE0pwFFnZ5Z8OPeODOTMlQr2517q8rnNQukFOLUbIme13tbUDLkXqst/etJQNMJk0TtSyqVSyjDgeaB+b/9ZIFBKORR4GlghhPBopu97UsoRUsoRvr6+phJJoWhASsmWY+cZE+aNp0vXb5SaMNAPR50d29LPd/ncZiF9PSDNo/T7j4ReIcrF0wLGKP0CwDC2LUB/riVWAncCSCkrpZTF+s8HgSzgpvaJqlC0n6zCMnKLy9tU+9aUuDvZMybMmy3p57G0iLlOIX0deA8wT7y8EJq1n/M9XO5m6yhGYIzS3w+ECyFChBCOwFxgnWEDIYSh024GcFJ/3le/EIwQIhQIB7JNIbglsnPnzoZUB5WVlUyZMoXY2Fj+85//GNU/IyOD2NhYhg4d2lBsXWEatuot7CkRnbxB6AZMiezNqeJysgo7lsba4im/qCncyFnmK2wy5B5AQuoq88xvwbSq9KWUNcDjwGYgHVglpUwTQvxOCFEfi/W4ECJNCJGC5saZrz8/HjiiP/8lsEBK2S12qRw+fBiAlJQU7rnnHqP6fPXVV8yZM4fDhw8TFhZmMlnqU0N0Z7YeO89gfw/6erqYTYb6G86WYxfMJkOXkPE1yFqI6MJQzab0CoagOG2jVnd4smoDRqVhkFJuBDY2OfeywedFLfRbDazuiICWQG5uLtOmTWP48OEcOnSIqKgoPvnkE1xdXdm0aRNPPvkkrq6uxMfHA3DhwgUSExMpLCwkNjaW1atXN1LiKSkpLFiwgPLycsLCwvjggw9ITk7mnXfeQafTsW3bNnbs2NFIBnd3dxYtWsSGDRtwcXFh7dq19O7dm9zcXH7xi19QVFSEr68vH374IYGBgTz44IM4Oztz+PBh4uLi8PDwICcnh+zsbPLy8nj77bfZu3cv33zzDf7+/qxfvx4HB9tMClZcWsnBvEssmtyFUSTN0NfThcH+HmxNP8/CCaa7qVscx9ZCzyAtF445GTIX1v0azhwC/+HmlcWCUGkYjOT48eM8+uijpKen4+HhwbJly6ioqOBXv/oV69ev5+DBg5w7dw4APz8//v3vfzNu3DhSUlKus9ofeOAB3njjDY4cOUJ0dDS//e1vmT59OgsWLOCpp566TuGDls559OjR/Pjjj4wfP55//etfAPz6179m/vz5HDlyhPvuu48nnvgpcCo/P589e/Y0bNzKyspi+/btrFu3jsTERCZOnEhqaiouLi58/fXXnfWnMzvbMy4gJUyJMI8/35ApEb05lHeJotJKc4vSOVy7DNk7zevaqSfiDhB2Wh1dRQNK6RtJ//79iYuLAyAxMZGkpCQyMjIICQkhPDwcIQSJia1XBLpy5QqXL1/mlltuAWD+/Pns2tX67kFHR8eG9YLhw4c3pHBOTk5uqFZ1//33k5SU1NDnrrvuQqf7aSv67bff3pACura2tlF66LamhLYmtqafp6+nM1H9rgsc63KmRPRGSu1GZJOc2KTl2jFH1E5TXHpBwEitGLuiAaX0jaTpZp6uzphomM5Zp9MZ5ad3c2tcHMQwBXTT9NC26vevqK5l14kipkT0togsl1H9POjr6czWYzYaunlsLXgEWI47JfxWOJsCV230790OlNI3kry8PJKTkwFYsWIF8fHxDBo0iNzc3IZIm88/bz0u2NPTk169ejWkLV6+fHmD1d8exo4dy8qVWlbBzz77jHHjmt3/ZjQvvPACa9as6dAYlkRyVjHXqmvNFqrZFCEEUyJ68/3JIiqqLaO+scmovAqZ2/RuFfPfYAGtWDpopRoVgFL6RjNw4ECWLl1KREQEly5dYuHChTg7O/Pee+8xY8YMhg0bhp+fceGAH3/8Mc8++ywxMTGkpKS0ucSiIX/961/58MMPiYmJYfny5SxZsqTdYwGkpqbSp0+fDo1hSWxJP4+bo47RoV6tN+4ipkT25lp1LXuyiswtimk5sRlqKy3DtVNPn2itfm7mFnNLYjGo1MpGkJubS0JCAkePHjWbDF3F1KlT2bx5c5fM1dm/a12dZMzr2xge1Itl91mIuwGorKll2O+2MGuoP3+cHW1ucUzHf+7Xsmo+nQF2FmRPrn0Mjq2H57JBZ7t1o4xNrWx9f4FvFsO5VNOO2Scabr++PGF3pKsUfldw9MwVzpdUMnmQZbh26nGy1zH+Jl+2pZ+nbtZg7OwsxBXSEarKNBdK7DzLUviguXgOfwr5+yBorLmlMTsW9utYJsHBwd3Cyrc1th47j52AiZ1YB7e9TInozfmSSo6euWJuUUxD5lYtyZkluXbqCZ0AdvZwUrl4wBot/W5ske/bt4+HH34Y0BKIvfrqq8yePbvD47q7u1Na2rHUALt27eLJJ5/kyJEjrFy5kjlz5nRYro6yJf0CI4K88HJzNLco1zFxkB92QrsxxQT0NLc4HefEt1oe+0ALtKSdPaH/aE3pT3nF3NKYHWXpWxGDBw/mwIEDpKSksGnTJh555BGLCbUMDAzko48+atgzYG7yL5WTfraEKZGWZ+UDeLk5MiLIiy3pNhCvLyVk79Asakv1mYffCudTtWpe3Ryl9NuBu7s7zz77LFFRUUyZMoV9+/YxYcIEQkNDWbdOy0X30Ucf8fjjjzf0SUhIYOfOnR2a19XVFXt77T9VRUWFUXHnixcvJjIykpiYGJ555hkAcnJyGDNmDNHR0bz00kutjGAcwcHBxMTEYGch/txtemVqCbtwW2JKpB/pZ0vIv1RublE6RtEJKCmAsEnmlqRlwm/V3lXoplL67aGsrIxJkyaRlpZGjx49eOmll9iyZQtr1qxpc/jlU089RWxs7HWv119v3o31ww8/EBUVRXR0NP/4xz8abgLNUVxczJo1a0hLS+PIkSMNCn7RokUsXLiQ1NRU+vbt22L/cePGNSvb1q2W/x9na/p5Qn3dCPV1N7coLVJ/Q9pm7dZ+1nbtPXSieeW4EX6R4OGvdudijT59C8DR0bFRCgMnJ6eG9AZtTWfw9ttvt6n9qFGjSEtLIz09nfnz53P77bfj7OzcbFtPT0+cnZ156KGHSEhIaEjjsHv3blav1vLg3X///Tz//PPN9q/fQGZtlFRUsze7mF/EhZhblBsS6utOqK8bW9PPM39ssLnFaT9ZO8ArDHoFmVuSlhFCs/ZTV0NNFdhb3jpPV6Es/XbQNIWBYXqDeh+7vb09dXU/1UOtqKhodqy2Wvr1RERE4O7ufsOoInt7e/bt28ecOXPYsGFDw40KjEsjYa2W/q4ThVTXSovZhXsjbo3ozd7sYkoqqs0tSvuoqYLcJAizYCu/ngG3QtVVOL3X3JKYFWXpdxLBwcEsW7aMuro6CgoK2LdvX7Pt2mLp5+Tk0L9/f+zt7Tl16hQZGRkEBwcDMHnyZD755BP8/X8qX1xaWkp5eTnTp08nLi6O0NBQAOLi4li5ciWJiYl89tlnLc5nrZb+9vQL9HJ1YFhgL3OL0ipTInvzz13ZfH+iiBkxLbvaLJb8fVBdZtn+/HpCbwE7By2KJ2S8uaUxG8rS7yTi4uIICQkhMjKSJ554gmHDhnV4zKSkJIYMGUJsbCyzZ89m2bJl+Pj4UFdXR2ZmJl5ejVMNXL16lYSEBGJiYoiPj29IsbxkyRKWLl1KdHQ0BQU3qnxpPPv37ycgIIAvvviCRx55hKioKJOM21aklHyfWUR8uC86K9j0NLR/T9yd7EnKtNKUDFnbQegguGM5n7oEpx7a5qzuHq8vpWz1BUwDjgOZwOJmri8AUoEUIAmINLj2gr7fcWBqa3MNHz5cNuXYsWPXnVP8RGpqqnzqqafMLUab6Yzf9cS5Ehn0/Ab5+Q+nTD52Z/HQR/vk+D9vN7cY7eOft0j579vMLYXx7H5Xylc8pLyUZ25JTA5wQBqhz1u19PU1bpcCtwORwL1CiMgmzVZIKaOllLHAn4G39H0j0WrqRulvHMvqa+YqTMfgwYMbrPjuTr3FHDfAx8ySGE/cAB9OFZdz+qKVhW6WX4QzKdbh2qmnIetm97X2jXHvjAQypZTZUsoqYCXQaK+1lLLE4NANqM/iNgtYKaWslFLmoFn8IzsutkLRPLsziwj0cqW/l6u5RTGa+hvUbmtz8WTvBKR1KX2fm6BnYLd28RgjRlLVAAAgAElEQVSj9P2B0wbH+fpzjRBCPCaEyEKz9J9oY9+HhRAHhBAHCgsLjZVdoWhETW0de7MvWpWVDxDu545vDyd2ZxWbW5S2kbUdnDyh31BzS2I8QmhRPNk7ocZGS1a2gskWcqWUS6WUYcDzQJu2eUop35NSjpBSjvD19TWVSIpuxo/5VyitrCHeypS+EIL4AT7sySyirs6yUp23iJSa4gwdb7mpF1oi/DYtOdyp3eaWxCwYo/QLgP4GxwH6cy2xEriznX0VinazR+8eGRPmbWZJ2s7YMG+Ky6o4fv6quUUxjuJMuHLaulw79YSMA52jVuWrG2KM0t8PhAshQoQQjmgLs+sMGwghwg0OZwAn9Z/XAXOFEE5CiBAgHGg+YF2h6CBJmUVE9fOwyKyarWF1fn1rSL3QEo5u0H8U5HxnbknMQqtKX0pZAzwObAbSgVVSyjQhxO+EEDP1zR4XQqQJIVKAp4H5+r5pwCrgGLAJeExKaWOFQX9i586dDakOKisrmTJlCrGxsfznP/8xqn9GRgaxsbEMHTq0oe6uwjjKq2o4nHfZ6vz59fTr6UKoj5sVKf0d0CsEvCw71UWLhIzXijGVXzS3JF2OUc44KeVGYGOTcy8bfF50g75/AP7QXgGtlcOHDwOQkpJidJ+vvvqKOXPmmCzzZT01NTU3TMxmC+zPvURVbZ3VKn3QrP3Vh/KpqqnD0d6C903WVEHu9xBzt7klaT8ht8COP2jfwxILv3QiFvwvy3LIzc1l0KBB3HfffURERDBnzhzKy7WY6k2bNjFo0CCGDRvGf//7XwAuXLhAYmIi+/fvJzY29jqrPSUlhdGjRxMTE8Ps2bO5dOkSGzdu5J133uHvf/87Eyde/8js7u7Oiy++yJAhQxg9ejTnz59vkG3SpEnExMQwefJk8vLyAHjwwQdZsGABo0aN4rnnnuPVV19l/vz5jBs3jqCgIP773//y3HPPER0dzbRp06iuttLcL3p2ZxbhqLPj5mDLT73QEnEDfCivqiXl9GVzi3Jj8vdDVal1+vPr8R8GDm6Qs8vcknQ5SukbyfHjx3n00UdJT0/Hw8ODZcuWUVFRwa9+9SvWr1/PwYMHOXfuHAB+fn78+9//Zty4caSkpBAWFtZorAceeIA33niDI0eOEB0dzW9/+1umT5/OggULeOqpp9ixY8d185eVlTF69Gh+/PFHxo8fz7/+9S8Afv3rXzN//nyOHDnCfffdxxNPPNHQJz8/nz179jRs3MrKymL79u2sW7eOxMREJk6cSGpqKi4uLnz99ded9afrEnZnFjE0sCeujtb7RDMm1Bs7YQV+/ewd1pN6oSV0DlpKBqX0FS3Rv39/4uLiAEhMTCQpKYmMjAxCQkIIDw9HCEFiYmKr41y5coXLly9zyy23ADB//nx27Wr9H56jo2PDesHw4cMbUjgnJyc3VKu6//77SUpKauhz1113odP9tAH69ttvb0gBXVtb2yg9dFtTQlsSF8uqSDtTYnWhmk3xdHUg2t/T8pV+1nbwHw4uVl7mMWS8vgDMWXNL0qUopW8kTVMRG5Oa2JQYpnPW6XRGlUl0c3NrdGyYArppemhLKbvYHpL1m5rGWrnSB+07pJy+TGmlhf4e5Reh4JB1u3bqqc+02c2sfaX0jSQvL4/k5GQAVqxYQXx8PIMGDSI3N7fBZ//555+3Oo6npye9evVqSFu8fPnyBqu/PYwdO5aVK1cC8NlnnzFuXMceuV944QXWrFnToTG6mqTMItyd7BkS4GluUTpM/AAfauok+3IsdHduzi6sLvVCS/SJAeeeSukrmmfgwIEsXbqUiIgILl26xMKFC3F2dua9995jxowZDBs2DD8/44pwf/zxxzz77LPExMSQkpLS5hKLhvz1r3/lww8/JCYmhuXLl7NkyZJ2jwWQmppKnz59OjRGV7M7s4jRod7Y66z/n/PwoF442duRdNJClX7WdnDy0Nw71o6dnbZRK+c7bYdxd8GYVJxd+bLE1Mo5OTkyKirKrDJ0Fbfd1nVpck3xu+YVl8mg5zfID5KyTSCRZTDvX8ly6tvfmVuM5nlniJQr5ppbCtPxw3taquVi6//3g6lSKyu6F5s3bza3CG2iftHT2hdxDYkb4EPGuasUXrWwhGCXT8OlHOuO2mlKN/TrW1182xv73iDjYoZJxxzkNYjnRzZfHBy00oc3qkWrMB+7s4rx6+HEAD93c4tiMuLCfIDj7MkqYlbsdUlpzUeuvnxmiA0pfZ+bwL2P5uIZPt/c0nQJytJXWC11dZI9mUXEDfDp8miqzmSwvycezvaWF7qZ8z24eIGfeUphdgpCaNZ+zq5u49e3Okv/RhZ5d+BPf/oT77//PjqdjnfffZepU6d2eEx3d3dKS0s7NMY//vEPli5dik6nw93dnffee4/IyKYF1kzL8fNXKS6rsurUC82hsxOMDfNhd2YxUkrLuKFJqVn6wfHaAqgtETIeUldBYQb4RZhbmk7Hxn492+bYsWOsXLmStLQ0Nm3axKOPPkptrWXkr5s3bx6pqamkpKTw3HPP8fTTT3f6nLsbSiNaXyrl1ogb4E3B5WucKraQEoqXcrRUyvU+cFuim/n1ldJvB+7u7jz77LNERUUxZcoU9u3bx4QJEwgNDWXdOi3r9EcffcTjjz/e0CchIYGdO3d2aN61a9cyd+5cnJycCAkJYcCAAezbd+NM1YsXLyYyMpKYmBieeeYZAHJychgzZgzR0dEmS+7m4eHR8LmsrKxLrNOkzCJCfd3o6+nS6XN1NfVPL0mW4uLJqffn26DS7xUEPYO6jdK3OveOJVBWVsakSZN48803mT17Ni+99BJbtmzh2LFjzJ8/n5kzZ7Y+iJ6Wcu3MnTuXxYsXNzpXUFDA6NGjG44DAgIoKGi5Jk1xcTFr1qwhIyMDIQSXL2uJvBYtWsTChQt54IEHWLp0aYv9x40bx9Wr1xf1+Mtf/sKUKVOuO7906VLeeustqqqq2L59e4vjmoLq2jr25VzkZ8MsaKHThIT4uNHX05nkrGISRweZWxzNtePeW1v4tEVCxkP6OqirBTtd6+2tGKX024Gjo2OjvDVOTk4NOW3amsPm7bff7gQJNTw9PXF2duahhx4iISGhIXfP7t27Wb16NaDl63n++ebXSep3DRvLY489xmOPPcaKFSt47bXX+Pjjjzv2BW7AkfwrlFfVMjbMtvz59QghGBPqzXcnCs3v15dSs4KD47WFT1skdAIcXg5nf9QycNowyr3TDprmrTHMaVOfw8be3p66urqGPhUVFc2O9dRTTxEbG3vd6/XXX7+urb+/P6dP/1RnPj8/H3//li1de3t79u3bx5w5c9iwYUPDjQqMyx00bty4ZmXbunXrDfvNnTuXr776qtXxO8LebG3H6uhQ2/Pn1zNaX0LxxPmOLbJ3mKKTUHretuLzm1L/3bqBi8coS18IMQ1YAuiAf0spX29y/Wngl0ANUAj8Qkp5Sn+tFkjVN82TUhrv+7BigoODWbZsGXV1dRQUFLToe2+LpT9z5kzmzZvH008/zZkzZzh58iQjR44EYPLkyXzyySeNbgKlpaWUl5czffp04uLiCA0NBSAuLo6VK1eSmJjIZ5991uJ8bbH0T548SXi4VjXz66+/bvjcWezJKmJQnx5WWRrRWMbob2h7sooY2KeH+QTJ1StCW/Tn19OjN/gO0pR+/JPmlqZTaVXpCyF0wFLgViAf2C+EWCelPGbQ7DAwQkpZLoRYCPwZuEd/7ZqUMtbEcls8cXFxhISEEBkZSUREBMOGdfyRMSoqirvvvpvIyEjs7e0bQiTr6urIzMzEy8urUfurV68ya9YsKioqkFI25NVfsmQJ8+bN44033mDWLNNUDfrb3/7G1q1bcXBwoFevXp3q2qmsqeVA7iXuHRnYaXNYAv29XOnv5UJyVjE/jzNjWcKc78HDH7xCzSdDVxAyHg5/qlUGs7ddY6LVPA3AGGCzwfELwAs3aD8U2G1wXGpMPoj6lyXm3rF0UlNT5VNPPWVuMdpMe3/XvVlFMuj5DXLz0bMmlsjyePaLFBnz6mZZW1tnHgFqa6V8I0TK1Q+bZ/6u5Ng6LQ9P7h5zS9IuMGHuHX/gtMFxvv5cSzwEfGNw7CyEOCCE2CuEuLO5DkKIh/VtDhQWFhohksKQwYMHN1jx3YHk7GKEgFEhtuvPr2dMmDdXrlVz7GyJeQQoTIfyYtt27dQTHA8ILSWDDWPShVwhRCIwAnjT4HSQlHIEMA94RwgR1rSflPI9KeUIKeUIX19fU4qksEGSs4qJ6ueBp6uDuUXpdMaEatFJ9QvXXU6ODebbaQmXXtB3iM0v5hqj9AuA/gbHAfpzjRBCTAFeBGZKKRvSA0opC/Tv2cBONPdPm5HdJC9Gd6G9v2dFdS2H8y43LHLaOn08nQnxcWuoDtbl5H6vbVzqadvrJw2EjNMXfreQndCdgDFKfz8QLoQIEUI4AnOBdYYNhBBDgX+iKfwLBud7CSGc9J99gDjAcAHYKJydnSkuLlaK30aQUlJcXIyzs3Ob+x48dYmq2jrGhHUPpQ+ai+eHnIvU1Na13tiU1NVqSr87WPn1hNwCtVVw+gdzS9JptBq9I6WsEUI8DmxGC9n8QEqZJoT4HdrCwTo0d4478IU+/rs+NDMC+KcQog7tBvO6bBz1YxQBAQHk5+ej/P22g7OzMwEBAW3ul5xVjM5OcHOwV+uNbYQxod6s+CGPo2dKiO3fhcXIz6VCxRVNEXYXAkeDnb3m4gmbaG5pOgWj4vSllBuBjU3OvWzw+fo9+dr5PUB0RwQEbTNUSIgZQ9YUFkNydjHR/p70cLZ9f3499RvQkrOKu1bp1+fPt+VNWU1x6gH9hv303W0QtSNXYTWUVdbw4+nL3cq1A+Dbw4lwP3eSu3oxN2cXeA8Aj75dO6+5CRkPBYeg8vq8U7aAUvoKq+HAqUvU1Mlus4hryNgwbw7kXqSqpov8+rU1cCq5e4RqNiVkHMha7fvbIErpK6yGPVlFOOgEI4J7mVuULmdMmDflVbUcyb/cNROeTYGqq93LtVNP/1Ggc7TZeH2l9BVWw96sYoYE9MTVsfslhx0V4o0QdF3oZn2sendU+g4uEDDSZv36SukrrIKSimpSC650O39+Pb3cHBnUx6Pr/Po5u8A3Aty76WbJkPFw9giUXzS3JCZHKX2FVbA/5yJ1km6r9EEL3Tx46hKVNZ1cIrOmUotT747+/HpCxgMSTu0xtyQmRyl9hVWQnFWMo70dwwK7nz+/nrFh3lTW1HE4r5P9+vkHoLocQrtRfH5T/IeDg6tNpmRQSl9hFSRnFzMssCfODrZdyu5GjAz1wq4r/Po534Gwg6C4zp3HkrF31DZqKaWvUHQ9l8urOHa2pCH5WHfFw9mBwf6ena/0s7+DvrHg0oUbwSyR4HFaltHSC623tSKU0ldYPHuzLyK7uT+/njGh3hw+fYlrVZ3k168shYID3du1U099+gkbi+JRSl9h8ezNLsbZwY4h/T3NLYrZGR3mTXWt5OCpS50zQV4y1NV0r3w7LdF3CDh5/JRe2kZQSl9h8SRnFXNzsBdO9t3Xn1/PzcFe2NsJkrOLOmeC7J3axqTA0Z0zvjWhs4egsTbn11dKX2HRFJVWcvz81YakY90ddyd7YgI82dNZfv2c77QdqQ4unTO+tREyHi5mwZXrSohYLUrpKyya3ZmaRRs/oHsv4hoSP8CHI/lXKKmoNu3AZcVaOmXl2vmJ+h3JNuTXV0pfYdHszizCw9mewf7Kn19P3AAfauske01t7efq3RhqEfcneg/WyijakItHKX2FxSKlJOlkEWPDfNDZCXOLYzEMDeyFi4Ou4SnIZOTsAkd9PnmFhp2dZu3n7AIbqdxnlNIXQkwTQhwXQmQKIRY3c/1pIcQxIcQRIcQ2IUSQwbX5QoiT+td8UwqvsG1yi8s5c6WC+HDl2jHE0d6OUaFeJJla6Wd/py1c6rpfQrsbEjIerpyGS7nmlsQktKr0hRA6YClwOxAJ3CuEiGzS7DAwQkoZA3wJ/Fnf1wt4BRgFjAReEUJ03330ijaRdFIrj6n8+dcTP8CHrMIyzl65ZpoBr+RrC5bKtXM99TmIbMSvb4ylPxLIlFJmSymrgJXALMMGUsodUsr68vF7gfrip1OBLVLKi1LKS8AWYJppRFfYOkmZRfj3dCHI29Xcolgc9U8/SSdNZO1n63PHq0Xc6/G5Cdx724xf3xil7w+cNjjO159riYeAb9rSVwjxsBDigBDigCp+rgCorZPsySomfoAPQih/flMG9u6Bj7uj6fz6ObvA1Qf8mj7EKxDCpvz6Jl3IFUIkAiOAN9vST0r5npRyhJRyhK9vN83frWhEasEVrlbUKH9+CwghiBvgQ1JmMbKjikhKLT4/ZLy2cKm4ntAJUHoeLqSbW5IOY8wvXAD0NzgO0J9rhBBiCvAiMFNKWdmWvgpFU+r9+WNVvp0WiR/g07B5rUMUnYSrZ7t3/vzWCJukvWdtN68cJsAYpb8fCBdChAghHIG5wDrDBkKIocA/0RS+YUq6zcBtQohe+gXc2/TnFIobkpRZRGRfD7zdncwtisUSN8BEfv36WrBqEbdlPP3BdxBkbTO3JB2mVaUvpawBHkdT1unAKillmhDid0KImfpmbwLuwBdCiBQhxDp934vA79FuHPuB3+nPKRQtUl5Vw6FTlxmnXDs3pF9PF0J93Tru18/eCZ6B0CvEJHLZLGGTtEpa1SaKmDITRgXkSik3AhubnHvZ4POUG/T9APigvQIquh/7cy9RVVvXYMkqWiZ+gA9fHsynqqYOR/t2+OPraiE3CSIStAVLRcuETYK9y7RMpPXuHitErdooLI6kk4U46uy4OdjL3KJYPPEDfCivquVwXjtTLZ87AhWXIWSCSeWySYLGahlIrdyvr5S+wuJIyixmeFAvXBxVKuXWGB3mjZ2g/S6ehvj8caYTylZxdNNSTmftMLckHUIpfYVFUVRaSfrZEhWqaSQezg4M6d+z/SkZcr7TFih79DGtYLZK2CQ4fxSunjO3JO1GKX2FRVGfJ16lXjCe+AE+/NieVMs1VXAqWe3CbQsNoZvWa+0rpa+wKJJOFuLp4qBSKbeB+PamWs5Lhppr2sYjhXH0jgY3X6v26yulr7AYfkql7K1SKbeBdqdaPvmttjCpNmUZj50dhE6E7B1QV2duadqFUvoKi6E+lbIK1Wwb7U61nLlVi0hxcu8cwWyVsElQVqj59q0QpfQVFkOSKo3YbtqcavlyHhRmQPhtnSuYLRI2UXu30t25SukrLIakk4UqlXI7aXOq5ZNbtPcBt3aSRDZMjz7gF2W1fn2l9BUWQX0q5XHhKpVye2hzquWTW6BnEPiEd65gtkrYRMjbC1Vl5pakzSilr7AIjuRf5mpFjfLntxPDVMt1da2kWq6p1OLzw29VqRfay4DJUFul5eKxMpTSV1gEOzIuYCeUP78j3HKTL0WllRw9c+XGDU/thupy5c/vCIFjwN7ZKl08SukrLIJtGRcYEeRFLzdHc4titUwY6IedgG3pF27c8OQW0Dlp1aAU7cPBRYt8UkpfoWg7Z69cI+1MCZMi/MwtilXj5ebIsMBebMs4f+OGJ7dAcDw4qgXzDhE2SYuAupJvbknahFL6CrNTb5lOUUq/w0yO6M3RghLOXalovsHFHCg+qfnzFR3DSlMyGKX0hRDThBDHhRCZQojFzVwfL4Q4JISoEULMaXKtVl9YpaG4ikJhyPaMCwR6uRLmqzYJdZTJ+hvn9owWXDyZW7V35c/vOH6R4N7b6lw8rSp9IYQOWArcDkQC9wohIps0ywMeBFY0M8Q1KWWs/jWzmeuKbsy1qlp2ZxYxOcJPhWqagHA/d/p7ubAtvQUXz8lvtQpZ3mFdK5gtIoRm7Wfv0IrRWAnGWPojgUwpZbaUsgpYCcwybCClzJVSHgGsMxmFwmzsziyisqaOyYN6m1sUm0AIweRBvUnKLOJaVRNFVH0Ncr5XVr4pCZsM1y5BwUFzS2I0xih9f+C0wXG+/pyxOAshDggh9goh7myTdAqbZ1vGeXo42TMyRFXJMhWTI/yorKljT1aTjVq5u7WsmsqfbzrCp4CdPWR8bW5JjKYrFnKDpJQjgHnAO0KI654rhRAP628MBwoLC7tAJIUlUFcn2ZZ+gfE3+bavvquiWUaFeOPmqGNr09DNzC1abHlwvHkEs0Vceml/TxtT+gVAf4PjAP05o5BSFujfs4GdwNBm2rwnpRwhpRzh6+tr7NAKKyftTAkXrlYyaZCK2jEljvZ2jL/Jl+0Z55HSYHfuyW+12HwHF/MJZ4sMStAiogqPm1sSozBG6e8HwoUQIUIIR2AuYFQUjhCilxDCSf/ZB4gDjrVXWIVtsTX9PELARKX0Tc7kiN6cL6kk7UyJdqI4Cy5mK39+ZzBwuvaescG8chhJq0pfSlkDPA5sBtKBVVLKNCHE74QQMwGEEDcLIfKBu4B/CiHS9N0jgANCiB+BHcDrUkql9BWAFlY4LLAXXmoXrsmZMNAXYbg7tz6rZvgU8wllq3j6Q79hVuPisTemkZRyI7CxybmXDT7vR3P7NO23B4juoIwKG+R8SQWpBVd4btpAc4tik/i4OzG0f0+2ZZxn0ZRwzZ/vPQC8Qs0tmm0yaAZs/z2UnAGPfuaW5oao1TOFWfhpF64K1ewsJkf05kj+Fc4XX9RCNVXu/M4j4g7t3QqsfaX0FWZhe8Z5Anq5EO6nduF2FvW7c4/v+RpqK5VrpzPxuUl7krICpW+Ue0ehMCUV1bUkZRYx9+ZAs+3CLasuo7C8kMJrhRRdK6L4WjGl1aWU15RTXl1OWXUZ5dXllNeUUyeb33PoYOeAq4MrrvauuDm44eqgvXs4euDt4o2viy8+Lj74uPjgqOv6dYuBvXvg39MF++NrwckTglUB9E5DCM3Fk7wUrl0Gl57mlqhFlNJXdDm7M4uoqK7r1FDN6rpqCq4WkHc1j1MlpzhVcoq8kjwKSgsovFbItZrma8k62jk2KPB6ha4TumbbXqu5xtmys5TX/HSTqJXNb8f3dPLEz9WP/u79CfIIItAjUHvvEYifa+ekoBBCcNvAnkSnJFEz5E7s7dWCeacy6A7YvUQLjY2529zStIhS+oouZ1vGBdwcdYwKNc0u3IsVF8m4mMHxi8dJv5jO8YvHOVVyqpECdndwJ9AjkAjvCMa7jMfX1bfBEq9/d3N0w8HOod1ySCmpqqviSuUVCq8VUnytuNHTxLmyc+SU5PB9wfdU11U39HOxdyG8ZziDvAYx0Gsgg7wGEd4rHBf7jsfT/4/nCXqIa/zYczJDOjya4ob4D9cSsGVsUEpfoahHSsl2/S5cJ/vmLegbUVVbRVpxGocvHObwhcMcKz7GhfKfdp72devLQK+BTA6cTJBHUINV3cupV6e7koQQOOmc8HP1w8+15aeY2rpazpWfa3j6yC3J5fjF43yT8w2rTqwCwE7YEewRzGCfwQzzG8ZQv6GEeIa0+TtEXNzGFenGl5cHKKXf2djZaTH7R1ZBdQU4OJtbomZRSl/RpaSdKeFcSYXRrp3SqlIOnj/IwQsHSbmQwtGiow1WcpBHEDf3uZkIrwjNSu41kJ7OlutLrUdnp8Pf3R9/d3/G9hvbcF5KyZmyM2QUZ5BxKYP04nS+z/+edVnaXkhPJ0+G+g4l1i+WEX1GEOUdhb3dDf4LV1egO/ENqR7j2Xr8Ir+TUmUy7WwiEuDgh1oN4pummluaZlFKX9GlfHvsxrtwa+pqSCtOI/lMMslnkjlSeIQaWYO9nT2R3pHMGzSPob2HEusbi7eLdxdL37kIIRpuBpODJgPajSC3JJeUCykcunCIlAsp7MzfCUAPhx6M7DuSsf3GMqbvGPp79G88YOZWqLpK7dA7OftdBUcLSogO8Ozib9XNCB4PTh6Qvl4pfYVCSsm6lALGhHrj4+7UcP5ixUW+O/0du/J38cPZH7hafRWBIMI7gvlR8xnTbwxDfIfgbG+Zj8udiRCCEM8QQjxDmB0+G4Dia8XsP7+/4ca4LW8bAP7u/sT1i2NC/wmM6jsKx7Q14OLFkPg7cEj6jrUpBUrpdzb2jloW0+PfaDn27druwuxslNJXdBkppy+TW1zOoxMHkHsllx2nd7Dz9E5SClOok3X4ufpxa/CtjOk7hlF9R9HLuZe5RbZIvF28mRY8jWnB05BScqrkFHvO7CH5bDLrs9ez6sQqXO1diSu5xMSwmxnvWMPEgX6s+/EML0yPQGenXDydyqAZcHQ1nN4HQWPMLc11KKWv6BKklHxyIBmX3t/ycd4/+H1aLgARXhE8EvMIE/tPZJDXIOVzbiNCCII9gwn2DGZexDwqayvZd3YfO458yM6KZLaUpaP7zy0EuUVxyT6EzemBTI+6ydxi2zYDbgWdoxbFY4FKXzRKvWoBjBgxQh44cMDcYihMRNblLDblbmJTzmZyS3IAO0b1vZlJ/Scxsf9E+rr3NbeItskXP6cuZxfH5v+XHWd2seXUVnKuZAOCUX1GMjVkKlMCp6inqc7i0zlauuUnUrSNW12AEOKgvnbJjdsppa8wNWdLz7IhewMbczaSeTkTgSCsRwxHT4TwxrT7+FnsIHOLaNtUlcGbA2DIXEh4u+H0o6s2sqtgC0FBJ8m7egqd0DGq7yhmhM5gSuAUXB1czSi0jXHgQ9jwJCzYDX0Gd8mUxip95d5RmISy6jK2nNrC+qz17Du3D4ChfkNZPHIxtwXdxmvr8smpKiRhsHItdDonv4Xqcoj6WaPTicNHsvGQ5JGJz3BT4FU25WxiU+4mXkx6kdfsX2NK4BTuCLuDkX1GorPABUirYtAM+Pp/4eiXXab0jUUpfUW7qZN17D2zl3XZ69h2ahsVtRUE9gjksdjHSAhNIKCHlm27rLKGb9MOMnuYvyqL2BWkrQE3Pwga2+j06BBv+tdJCyEAACAASURBVHo6szblDO/H3swgr0EsGraIwxcOsy5rHd/mfsv67PX4ufqREJrArLBZhPZUqZjbhbufVrAm5XOY+BLoLEfVWo4kCqvhbOlZvsr8ijWZazhbdhYPRw9mhs3kjrA7GOI75LrF2G+PneNadS2zh/qbSeJuRGUpnPgWhiZeFy5oZyeYOaQf7yflcLGsCi83R4QQDOs9jGG9h/HCqBfYeXon67PW83Hax3xw9AOG+g1l9oDZTA2eqtw/bWXofXDiG8jaDjdZTsUyo8wuIcQ0IcRxIUSmEGJxM9fHCyEOCSFqhBBzmlybL4Q4qX/NN5Xgiq6luraab3O/ZcGWBUxdPZW///h3gj2CefOWN9lx9w5+M+Y3xPrFNht9s+bwGfx7ujA8UC0adjonN0PNNYia3ezlO4f6U1Mn+frImeuuOemcmBo8lb9N/htb79rK/w7/Xy5VXOLlPS8z6YtJvLrnVVILU7G0dUCLJXwquPrA4eXmlqQRrVr6QggdsBS4FcgH9gsh1jUpe5gHPAg806SvF/AKMAKQwEF930umEV/R2Zy+epovTnzB2sy1XKy4SB+3Pjwy5BHuHHAn/u6tW+6FVytJOlnIwglh2Kn48M7n6H/BvQ8ENh8qGNHXg4G9e/BVyhnuHxPc4jA+Lj48OPhB5kfN5/CFw/z35H/ZmLOR1SdXc1Ovm7j7prtJCEvAzcGtk76IDWDvqC2m//BPKCsGN8vYQW6Me2ckkCmlzAYQQqwEZmFQ4FxKmau/1jTx+FRgi5Tyov76FmAa8HmHJVd0GjV1NezK38Wq46vYfWY3OqHjloBbuGvgXYzpO6ZNi3zrfzxDnYQ7Y5Vrp9OpvKrVwh3xcy35VwvcOdSfNzZlkFdcTqD3jV02hu6fxSMXszFnI1+e+JLXfniNtw6+xYzQGdwz8B4Geqmyl80Sex8k/w1SV8HoheaWBjBO6fsDpw2O84FRRo7fXN/r/vcLIR4GHgYIDAw0cmiFqSksL+TLk1+y+sRqzpefx8/Vj0eHPMrPwn9Gb7f2lTVcm1JAVD8Pwnv3MLG0ius4vkmrkNWCa6eembH9eGNTBmtTCvj15HCjh3d3dOfugXdz1013cbToKP85/h/WZa3jixNfEOMbwz0D72Fq8FScdE6tD9Zd6B2pFU0/tBxGLeiymP0bYRGhFFLK96SUI6SUI3x9fc0tTrdCSsnhC4d57rvnuO3L21iWsoywnmG8M/EdNv/PZhbGLmy3ws8uLOXH/CvKyu8qDn8CnoEQMPKGzfx7ujAqxIs1KQXt8s8LIYj2jea1+NfYdtc2nrv5OUoqS3gx6UVu/eJWlhxawtnSs+39FrbH0ES4kAZnU8wtCWCcpV8AGKbvC9CfM4YCYEKTvjuN7KvoRCpqKtiYs5HPMz7n/7d332FRXXkDx79nZiiiKDZEEQXEAmqU2NFEsWBviR1dszEx2Wjam/Jsdt+UJ8n7JtnETfKq2U1ZTWJvqMQSNErUNLuoiBQVRRABUYo0B877xx2VGAvgNGbO53nGmTtz597fxZnfnHvuKSdzT+Lp4snU4KlMbj+Z1vVbm2UfG45kIIRWslQsLOsknNkNg968a9XOdeNDfflr1LH7HnmzgVsDZoTMYHrwdPZl7mPFyRUsOr6IRccXEe4XztQOU+np09O5h9fo9CjE/A0OL4MWobaOpkpJfz/QVggRgJbEpwDTqrj9GOB/hRDXm21EAK9VO0rFbDIKM1iZuJKo5CjySvNo27Atb/R5g5EBI83aJE9KyYbD6YS1aUyz+s43OqbV7f8K9G7w4J+qtPrwzs15Y2M86w+bZ+RNIQS9mveiV/NeZBRmsDpxNeuS17Hj3A7aNGjDtOBpjAoc5ZzNPut4QfBorV4/4l2bT65yzyKBlNIIzEVL4AnAaillvBDibSHEGAAhRA8hxHlgIvC5ECLe9N5c4B20H479wNvXL+oq1iOl5EDmAV6MfZHhUcP5Nv5bevr0ZPHQxawbvY6J7Saa/ct4OO0K53KLVNWONZTkQ9wK6PQI1G1Spbc0qOPCwA7efHc0A2P57Sd+r6kW9VrwQrcX+GHiD7zb911c9a6889s7DF47mHkH5pFeWNWKAgcSOh1K8rRB2GysSp2zpJRbgC23PPdGpcf70apubvfeRcCi+4hRqaHS8lK2nN7C8pPLOZl7kgZuDXis42NMaT/F4gOdrT+UjptBx7BOPhbdjwIcXQVlhdDjyWq9bVxoC76Pz+SnlBwGtDf/JPVuejfGBo1lTJsxHMk+wrKEZSw5sYRvT3xLuF84kcGRdG/W3Tmqfvwf1q63HFkGnSfce30LUj1yHVB2UTarElexJmkNuSW5BHkF8WafNxkZONIsk23fS17RNdYdOs+Izs3xdK/5RONKFUgJ+77U6opbdqvWW8M7eNOknivf/JJqkaR/nRCCUO9QQr1DybyayarEVaxNWsuOczto37A900OmMzxguGO3+tHpoOs02PUBXEkDL797v8dSodhsz4rZxV+K5297/kbEugi+OPoFDzR9gK8iviJqTBQT2k2wSsIHWL7vHEVl5TzxUIBV9ufUUvdATiL0nF3tt7oZ9Mzs409sYjbJFwssENwf+dT14fkHn2f7hO281ectymU5r//8OhFrI1h4ZCE5xTlWicMmuk4DJMSttGkYamjlWq68opzYtFiWnFjCoaxDeBg8GN92PNM6TKNVfev3eSgzVvDQP3YS5F2PZU/0tvr+nc6q6ZD6M/xXQo0uEF6+Wkaf93cwtosvH0x4wAIB3p2Ukr2Ze1l6Yim7zu/CoDMwImAE04OnE9w42OrxWNw3o+HKOXj2cJVaWVWHGlrZwRWUFRCVHMWKkytIL0zHt54vr3R/hfFtx+PparuOUN/FZXAxv5QPHrV+AnE6eelwcguEza1xi5CGdV2Z2M2PVfvTeGloO7w9rduyRAhB7+a96d28N6l5qSw/uZwNKRuIPhVNt2bdmBE8gwF+AxxnqOfQGRD1JJz9GQIeskkIqqRfy5zNP8vyBO2LUWQssqsvhpSS4Z/uQUr4/oWHnOMCnS3tfBd2fwTPx0HDmvetSM25Svi8H5kzIIiXh9p+OIX8snzWJ69necJyMq5m4FvPl2kdptm8QGMW14rho/bQZgBM+tasm1YlfQdy/RR42Yll7Dq/C71Oz4iAEUQGRxLSOMTW4d3wU0oOJzML+HDCAyrhW5qxFA5+De2G3VfCB/BvUpeIkGYs3XuWZ8Lb4OFq27RQ37U+MzvOJDI4kti0WJaeWMqHBz5k4ZGFNq26NAuXOtDzSdgzD7ISwNv6VVgq6duxEmMJm09vZmnCUlKupNDIvRFPdXmKye0n06RO1dpjW9MXu0/j7emmeuBaw4louJoNPZ8wy+ZmPxxITPxF1h48z5/uMvqmNRl0Boa0HsKQ1kOIz4lnScISViWuYnnCcvq37E9kSCS9fHrVvgJGnznw27+0s7QJ/7H67lX1jh2q3KztSukVOjTqQGRwpF03a0u4kM/wT/fwytD2zAkPsnU4ju8/EVrSn3vQbBcEH/nsZ3IKy4h9eQB6Ox0G+3bNkacHT2dk4EjcDbWo5/f2N+CX+TBnHzSp+qB3d1PV6h3VZNNOXB/47JVdrzB83XAWHV9Et2bdWDx0MatHrWZc0Di7TfgAX+45jYernshetfS0uza5EAdpe7XOWGZsATL74UDO5RaxLT7TbNs0t6YeTZkbOpdtE7bxTt930As9b/36FkPWDuGTg5/UnoHe+jyrDZuxZ57Vd62qd2ystLyUrWe2sjxhOQm5CXi6ehIZHMnU4KlVmqTEHmTmlfBdXAaRvVrj5eFq63Ac394vwMXD1O7bfIaE+NC6sQdf7jnN8M6W7bF9v9z0bowLGsfYNmM5cPEAyxKWsTh+MYvjFzOo1SCmdphq37196zWF7o/D3n9D/1ehkfXmIlZJ30Yyr2ayOnE1a5PWcrn0MkFeQbze+/VaOSjV17+kUl4hmdVPdcayuOwkbZydHk9oA3mZkV4nmNUvgDc2xnPwbC7dWjcy6/YtQQhBD58e9PDpQUZhBqsSV7EueR3bz26nbcO2RHaIZETgCKt1TKyWvs9pA+Xt+SeMXWC13ao6fSu63gpn5cmVxKbFIqVkgN8AIoMja+3ws4WlRvq8t4OH2zVl4bQHbR2O41sxFc7sgeePVHlwteooKjMS9v5OegU04vMZ96wetkvFxmK2ntnKsoRlJF1OwtPVk3FB45jSfor9tfrZ8gocWATPHQav+4tNNdm0I4VlhWw8tZFVias4k3cGLzcvZnacyaR2k2jpedtx6mqNVfvTKCgx8uRD1js9dVqpP0PiFhj4ukUSPoCHq4EZvVuzIDaFMzlXCWhS++bArWOowyNtH2F80HgOXjzIysSVrEhYwZITS+jr25ep7afSz7efzfu1AND3Ba3p7U8fw6iPrbJLVdK3oMTcRFYnrua7099RbCymc5POTOkwxWGmlCsuK2fQvB9p2dCD1U/ffiJuxUwqKuCrQVCQCc8eBFfLVQFmFZTQ7/1YxnZtwYcTu1hsP9aUVZTFuqR1rElaQ3ZxNr71fJnYbiLjgsbRuI6NJyz/7gVt9M3njkCDml/Hq2pJXyV9Mys2FhOTGsOaxDUczTmKm96NYf7DmNphKh2bdLR1eGY1b1si83emsHJ2b3oH2viL4+iOrYV1s2DsZxAaafHdvbclgc93nybqmTAebNXw3m+oJa5VXGPnuZ2sSlzF/sz9GHQGBrcazMR2E+nh08M2VayXz8L8B6H7LBjxjxpvRiV9Kzt15RRrktYQfSqagrICAhoEMKndJEa3GU0Dt/ufmcjenMm5ytCPdzPygeZ8PLmrrcNxbMZSWNAd3OrDU7vBCtUShaVGBs/bReN6rkTP7We37fbvx+m806xJ1L6z+WX5+Nf3Z2K7iYxpMwYvd/NeJL+njXPg6Bp44Sh41mwOCrMmfSHEMOBTQA98JaV8/5bX3YBvgW7AJWCylDJVCOGPNttWomnV36SUT99tX7Up6RddKyImNYao5CiOZB+50YNwUrtJdGvWrVZemK0KKSV/WrSPI+eusOPl/lYfpMvp/LpQm2N1ehQEDbLabjcdzWDu8sO8Pbaj3fTStYQSYwnbzm5jdeJq4rLjcNW5MqjVIB5p9wg9fXqiE1bozpR7GuZ3h95/gaH/U6NNmO1CrhBCDywEhgDngf1CiGgp5YlKq80CLkspg4QQU4APgMmm105JKR2mKCil5FjOMaKSo9h6ZitFxiICGgTwUreXGN1mtO3rB63g++OZ7EnO4c3RISrhW1rxZdj1D2gz0KoJH2Bk5+asDErjw5hERnRuTpN6tf861O24G9wZ02YMY9qMITE3kajkKDad3sTW1K341vNlfNB4xgaNxaeuBWeBaxQInSdCTrI2MY4FC4z3LOkLIfoAb0kph5qWXwOQUr5XaZ0Y0zq/CiEMQCbQFGgNbJJSdqpqQPZa0s8pzmHz6c1sSNlAypUU6hjqENE6gkfbPUrXpl0dtlR/q6IyI4Pm7aKhhyvRc/ti0KtO3Ra17b/hlwXw9E/gU+Wvkdmcyi5k2Ce7GdPFl3mTHOOiblWUlpey4+wOopKj2Ju5F53QEdYijLFBYwn3C7dMQwxjKRhqvl1zNtn0BdIqLZ8Het1pHSmlUQiRB1wv8gYIIQ4D+cB/Syn33CbY2cBsgFat7KcdbWl5KbFpsUSnRPNLxi+Uy3I6N+nMG33eYLj/cOq51rN1iFb3fztSuJBXwoJpoSrhW9rls7D3c63nrQ0SPkCbpvV48qFAPvvxFFN6+tHD3/47bJmDm96NEYEjGBE4grSCNNYnryf6VDSv7HoFT1dPhvkPY0ybMXRp2sV8Bb77SPjVUZWS/gRgmJTyCdPyDKCXlHJupXWOm9Y5b1o+hfbDUADUk1JeEkJ0AzYAHaWU+Xfan61L+lJK4rLj+O7Ud2xN3UpBWQHeHt6MDhzNmKAxBDZw3vboKVkFDPtkD+NDfR2mKZ9dWzsLTm7WmmjeR1O++1VUZmTIP3fj6W5g07P9nPbHvryinL2Ze4k+Fc2OszsoKS/Bv74/o9uMZmTgSJsPm2LOkn46UHkW35am5263znlT9U4D4JLUflFKAaSUB00/Bu0Au6u/SbmcwuYzm9l6Zivphem4690Z1HoQY9qMoZdPL/voyGFDUkre2BiPh6uevw7vYOtwHN/xdXB8LTz8qk0TPmgdtl4fFcLTSw/yza9nnXa4Db1OT1iLMMJahFHYq5DtZ7ez8dRG5h+ez/zD8+natCsjA0cS4R9BI3f7PSOqSknfACQBg9CS+35gmpQyvtI6c4DOUsqnTRdyH5FSThJCNAVypZTlQohAYI9pvdw77c+aJf2Mwgy2ntnKljNbSLqchF7o6d2iNyMDRjKw1UDqutS+3oiWEh2XwXMrDvPOuE7M6H1/k3Yo95CTDF8MAO8Q+PMW0LvYOiKklPz56/0cSL3Mjpf606y+uoB/XXphOlvPbGXz6c2kXElBL/T0adGHkYEjCfcLt1oeMXeTzRHAJ2hNNhdJKf9HCPE2cEBKGS2EcAeWAKFALjBFSnlaCPEo8DZwDagA3pRSfne3fVk66acXprMtdRvbUrdx/NJxALo07cKIgBFE+EfY5eQktpZ7tYzhn+6mWX131j/T1yHbbNuNsqKbPW+f3gMN7GeYjtScq0R8spvBwd4snPag0zReqI6ky0lsOb2FLWe2cOHqBVx1rvT17UuEfwQDWg6w6HVA1TmrkvMF59l+dvvvEn1I4xAiWkcQ4R+Bn6ffPbbgvEqN5cz4ah9Hzl8h6i9hdPJ1vI5mdmXDM3BkOUxfC0GDbR3NH/zrx1N88P1JXo5ox9yB5pn8wxFVyArisuO0AubZbWQVZeGqcyXMN4yI1hEM8Btg9vl+nXrANSklCbkJ7Dy3k9i0WJIuJwHQsXFHXuz2IkNaD1GJvgqklLwWdYx9qbnMnxqqEr6lHVqijcHy8Kt2mfABnu4fSNLFAj7aloR/k7qMekBNjXk7OqEj1DuUUO9QXunxCkezjxKTGsP2s9v5Me1HDDoDPX16Eu4XTrhfOM3qNrNabA5T0r9WcY2DFw/eSPSZVzNv/OEH+g1kYKuBtX5ES2tbGJvChzGJ/NeQdjw3SJXqLCrzGHw1GPx6wYz1VhlqoaZKjeVEfrmXY+l5rJzdm1AHGpvH0ipkBUezj7IzbSex52JJzU8FoFPjToS3Cmeg30CCGtZsulGnq97JvJrJkLVDcNe7E9YijPBW4fRv2Z+G7uoDWRObj15gzvJDjA/15Z+TzNgWWfmjkjztwm1ZkVaPX8/b1hHd06XCUsZ/9gtFZeVsmBNGy4a1a+Ife3E677RWUD0Xy9GcowQ3Cmb16NU12pbTJX2A3y78RpemXexzlpxa5EjaFSZ//iudfRuw7MleuBnst9RZ60kJa2ZCwiZ4bBO0DrN1RFWWklXA+M9+wderDmue7oOnu+1bGdVmWUVZZBdn07FxzUbjdcqJ0Xs3760S/n06f7mIJ745QLP67nw+o5tK+JZUfg02/AVObITBb9aqhA8Q5O3JvyK7kZxVyLMrDmMsr7B1SLWat4d3jRN+dThU0lfuT17xNZ745gClxnIWPdaDxg46wJZdKC2EFVO0+W7D/w5hz9k6ohrp17YJ74ztxI+J2by96QT2VnOg/JFDtt5Rqi/5YgGzlxwkLbeIr//ckyBv5xtXyGqu5sCyiXDhCIz+FLo9ZuuI7su0Xq04k1PIl3vOkFNYyocTulDXTaUWe6X+ZxS+P36Bl1bHUcfVwIrZvZ1mUC2buJwKSx6B/HSYtASCR9k6IrP424hgvD3deW9rAilZhXwxozv+tXB+XWegqnecWHmF5KOYRJ5eeoi2zTzZ9Gw/lfAtKfMY/CcCinJgxgaHSfgAQgiefDiQbx/vRXZBKWMW/ERsYpatw1JuQyV9J5VXdI1Z3+xnQWwKU3r4seqp3vg0UOOpWISUELcKFo8AnQEej4HWjjmRfL+2TYie24+WDT14/Ov9LNiZrOr57Yyq3nFCh85d5sVVR8i4Usz/ju/MtF72M4eBw7kQB1tehbTfwLcbTPrWrsbTsQS/Rh6s+0sYr0Ud5aNtSRxLz+OdcZ3ULGt2QiV9JxKfkcfH25P4ISELb083Vs7uTbfWqjrHIopyYec7cPBrqNMIxsyHrtNB5xwn13Vc9Xw8uSudW3rx3pYEdiXFMrOPP0/1b0Ojuq62Ds+pOVTnLOX2ki8W8PEPSWw5lkl9dwOzHw7ksb4B1FMtLMyvohwOLoad70JJPvR8Ega8BnW8bB2ZzaTmXOX/diSz/kg6Hi56Hu8XwBMPBdKgjurMZU5O2SNXuUlKSdLFQv696xQbTF+2Wf0CmKW+bJaRnai1uT+6WmuZ4/8QDP8HNAuxdWR2I/liAZ/8kMzmYxduFD6m9myl+oOYiUr6TqiiQhJ3/gox8RfZFp/J6ZyruLvomBnmz1MPq9Nqs7t6SZvhKm45ZBwGoYegQfDgTOgwEtR4RbelVTMm80PCRXQCuvs3YmhHH4Z2bKbG8LkPKuk7iayCEuLT89l5MottJzK5mF+KQSfo06YxER19GN7JhyaqJGUeRbmQfhDO74e0fZC6ByqM4NMZukyFThPA03pD5NZ2JzPz2XL0AjHxF0m8WABAJ9/6DA3xISyoCR18PFUnr2ow98xZw4BP0WbO+kpK+f4tr7sB3wLdgEvAZCllqum114BZQDnwnJQy5m77Ukn/j6SUFJQaybhSTGJmAScu5HMiI5+ECwXkFJYCUMdFT/92TRnaqRkD2zejgYeqwqmx0gK4kgZXzmmdqS4c0RL9pRTtdaED744Q2F9L9j6dbBquI0jNuUpMfCYx8ZkcOncF0E6U/BvXJaR5fYKbexLcvD5tvT3xru+Gu4saE+pWZkv6Qgg92hy5Q4DzaHPkTpVSnqi0zjPAA5XmyB0vpZwshAgBVgA9gRbAD0A7KWX5nfbniEm/vEJSZqyg1Fhuuq+grLyC4rJyCkqMFJYaKSy9RkGJkYISI3nF17iYX2K6lXIxv4Sispt/Mhe9oF0z7UugfSHq09XPizqu6otARYVW+i4vhWslYCz+/f21q1B8BUquQPHlm4+LciHPlOiLL/9+m3WbQsue0LI7tOwBLULBTQ1TYSlZBSXEpeWZCjb5nLiQz7ncot+t09DDhWb13U03N7w93fF0N+Dp7kI9dwOebgY83Q3UczfgZtDjatDhqtfh5mK6N+gcbrhwc86c1RNIkVKeNm14JTAWOFFpnbHAW6bHa4EFQvuLjgVWSilLgTNCiBTT9n6t6oFUVd6li1xeOMis27zXSZC8/q+8/th0L2++drdtuAKNTbfKhBAYdKabXqD30GHw1JbdDHpc9Dp0Asgy3eKqeWB3PShzVvfdYVtS/v71ystS3nJf6XlZYbqV33xcUQEV17REX2HUnqsOgzu4e0Gdhlr7ed/u4OUHXq3AqzU08NPGt3ewBGHPvD3dGRLizpCQm1VlBSXXOJlZwJnsq1zMLyGzUoEo4UI+OYWlVFTzo6vXCfRCaPemm0EnEEKgE6Az3QshEEL7CAjEjY+CgBs/HL/7dIjbPvydO/3gdPDxZMG0B6t3INVUlaTvC6RVWj4P9LrTOlJKoxAiDy2X+QK/3fJe31t3IISYDcwGaNWqZh2FdHoDuR6BNXrv72K5wxO3Pi+EuPHczQ/BHz8cAtOHR1fpg2R6rH3IdLjotXuDXvvQ6XTijh8W6zDj3u+YLMUtr1deFre515n+sDrtptNrz+sM2mO9i+mxi2nZFVzqaEn9xr07uNTVmk+6e2n3Lmoo7trA092FHv6N7jhMiJSSorJyCkuNFJRcu3kGXWLUzqxNZ9ql18+0jRWUV0iMFZIKKTGWS8orKkzLAFIrT0htWZoKcNdrRiQ3yyryljhuPL7Twdzlx6l1Y8tfyLaLqyRSyi+AL0Cr3qnJNjy9GvPgy9FmjUtRlNpBCEFdNwN13Qw0q696/t5NVboHpgOVZxFvaXrutusIIQxAA7QLulV5r6IoimIlVUn6+4G2QogAIYQrMAW4tUgdDcw0PZ4A7JTaeU40MEUI4SaECADaAvvME7qiKIpSXfes3jHV0c8FYtCabC6SUsYLId4GDkgpo4H/AEtMF2pz0X4YMK23Gu2irxGYc7eWO4qiKIplqc5ZiqIoDsApJ0ZXFEVR7k4lfUVRFCeikr6iKIoTUUlfURTFidjdhVwhRDZw1tZx1EATIMfWQViZOmbnoI65dmgtpWx6r5XsLunXVkKIA1W5cu5I1DE7B3XMjkVV7yiKojgRlfQVRVGciEr65vOFrQOwAXXMzkEdswNRdfqKoihORJX0FUVRnIhK+oqiKE5EJX0LEEK8JISQQogmto7F0oQQHwohTgohjgoh1gshvGwdkyUIIYYJIRKFEClCiL/aOh5LE0L4CSFihRAnhBDxQojnbR2TtQgh9EKIw0KITbaOxRJU0jczIYQfEAGcs3UsVrId6CSlfABIAl6zcTxmJ4TQAwuB4UAIMFUIEWLbqCzOCLwkpQwBegNznOCYr3seSLB1EJaikr75fQy8yl1nwnQcUsptUkqjafE3tNnRHE1PIEVKeVpKWQasBMbaOCaLklJekFIeMj0uQEuCf5jf2tEIIVoCI4GvbB2Lpaikb0ZCiLFAupQyztax2MjjwFZbB2EBvkBapeXzOEECvE4I4Q+EAnttG4lVfIJWaKuwdSCWYhcTo9cmQogfAJ/bvPR34G9oVTsO5W7HLKXcaFrn72hVAsusGZtiWUKIesA64AUpZb6t47EkIcQoIEtKeVAIMcDW8ViKSvrVJKUcfLvnhRCdgQAgTggBWjXHISFETyllphVDNLs7HfN1QojHgFHAIOmYHT/SAb9Kyy1Nzzk0IYQLWsJfJqWMsnU8VtAXGCOEGAG4A/WFEEul2hbQzAAAAL9JREFUlNNtHJdZqc5ZFiKESAW6Sylr20h91SKEGAb8E+gvpcy2dTyWIIQwoF2kHoSW7PcD06SU8TYNzIKEVnL5BsiVUr5g63iszVTSf1lKOcrWsZibqtNX7tcCwBPYLoQ4IoT4t60DMjfTheq5QAzaBc3VjpzwTfoCM4CBpv/XI6YSsFLLqZK+oiiKE1ElfUVRFCeikr6iKIoTUUlfURTFiaikryiK4kRU0lcURXEiKukriqI4EZX0FUVRnMj/AwzVf+rgADLVAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.stats as stats\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "x = np.linspace(-5,5)\n",
    "y_1 = stats.norm.pdf(x, loc = 0, scale = 1) #loc \n",
    "y_2 = stats.norm.pdf(x, loc = 3, scale = 1)\n",
    "y_3 = stats.norm.pdf(x, loc = 0, scale = 3)\n",
    "ax.plot(x,y_1,'-',label='pdf of norm,\\n mu = 0, sd = 1 ')\n",
    "ax.plot(x,y_2,'-',label='pdf of norm,\\n mu = 3, sd = 1 ')\n",
    "ax.plot(x,y_3,'-',label='pdf of norm,\\n mu = 0, sd = 3 ')\n",
    "ax.legend(loc='best',frameon=True)\n",
    "\n",
    "plt.title(r'Normal Distribution')\n",
    "\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們需要證明 $n(x;\\mu,\\sigma)$ 的確是一個分佈密度：\n",
    "* 需要證明$n(x;\\mu,\\sigma) > 0$ 對 $\\forall x \\in (-\\infty,+\\infty)$ 成立\n",
    "* 求積分：$\\displaystyle \\int_{-\\infty}^{+\\infty} n(x;\\mu, \\sigma)\\ dx = \\frac{1}{\\sqrt{2\\pi}\\sigma} \\int_{-\\infty}^{+\\infty} exp\\left[-\\frac{1}{2\\sigma^2} (x - \\mu)^2\\right] dx$\n",
    "\n",
    "\n",
    "*這裡，證明過程詳見（方開泰教授）《統計分佈》p102 - 103*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質\n",
    "\n",
    "正態分佈有許多非常好的性質，這裡僅列出一些基本的性質：\n",
    "\n",
    "##### 性質一：\n",
    "* $n(x;\\mu, \\sigma)$ 的圖形如上所示，它很像一個鐘，它是一個單峰分佈(Unimodal Distribution)，峰值在 $x = \\mu$， 這是因為 $e^{-x^2}$ 在 $x = 0$ 是達到最大，所以，$n(x;\\mu, \\sigma)$ 在 $ x = \\mu$ 處達到最大值，從而她的眾數：$\\mu$；\n",
    "* 圖形關於 $x = \\mu$ 對稱；\n",
    "* $y = 0$ 是 $f(x) / p(x)$ 的漸近線(Asymptote)；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質二： 歸一化（Normallization）\n",
    "\n",
    "**若 $X \\sim N(\\mu, \\sigma^2)$， 則 $Z = (X - \\mu)/\\sigma \\sim N(0,1)$. 反之，如果 $Z \\sim N(0,1)，則 X = \\mu + \\sigma Z \\sim N(\\mu, \\sigma^2)$**\n",
    "\n",
    "**證明**：若 $X \\sim N(\\mu, \\sigma^2)$， 則對一切 $a < b$有： \n",
    "\n",
    "$\\begin{align*}\n",
    "   P(a < Z < b) &= P(a < \\frac{X - \\mu}{\\sigma} < b) \\\\ \n",
    "                &= P(\\mu + \\sigma a < X < \\mu + \\sigma b) \\\\\n",
    "                &= \\int_{\\mu + \\sigma a}^{\\mu + \\sigma b} \\frac{1}{\\sqrt{2 \\pi}\\sigma} exp\\left[-\\frac{1}{2\\sigma^2}(x - \\mu)^2\\right] \\ dx \\text{Let $t = \\frac{x - \\mu}{\\sigma}$} \\\\\n",
    "                &= \\int_{a}^{b} \\frac{1}{\\sqrt{2\\pi}}exp\\left[-\\frac{1}{2}t^2\\right] dt\\\\\n",
    "    \\end{align*}$\n",
    "\n",
    "這表明了 $Z \\sim N(0,1)$, 其逆命題的證明正好是上面推倒的逆序。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\Phi = (x;0,1) \\ Z ～ N(\\frac{x - \\mu}{\\sigma}; 0,1)$ \n",
    "\n",
    "歸一化的好處是我們只需要研究$\\Phi(x)$ 就足夠了，$\\Phi(x)$有如下性質：\n",
    "* $\\Phi(0) = \\frac{1}{2}, \\Phi(x)$ 有兩條漸近線 $y = 0$ 和 $y = 1$. 從而， $\\Phi(x)$ 的中位數是 $x = 0$\n",
    "* $\\Phi(-x) = 1 - \\Phi(x)$ "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 性質三：可加性 (additivity）\n",
    "**若$X_1 \\sim N(\\mu_1, \\sigma_1^2)$ 與 $x_2 \\sim N(\\mu_2, \\sigma_2^2)$獨立，則**：\n",
    "$$X_1 + X_2 \\sim N(\\mu_1 + \\mu_2, \\sigma_1^2 + \\sigma_2^2)$$\n",
    "\n",
    "這個性質可以推廣到多個隨機變量的情況：\n",
    "\n",
    "$X = \\{X_1, X_2, X_3, \\dots, X_n\\}$, 則，$\\bar{X} = \\frac{1}{n}(X_1 + \\dots + X_n)$，對於每一個隨機變量：$X_i \\sim N(\\mu_i, \\sigma_i^2)$,則： \n",
    "$$\\bar{X} = \\frac{1}{n}(X_1 + \\dots + X_n) \\sim N(\\mu, \\frac{\\sigma^2}{n})$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 對數正態分佈(logrithm-Normal Distribution)\n",
    "**對數正態分佈**是對數為正態分佈的任意隨機變量的概率分佈；在地址勘探中，岩石的某種化學成分（用$X$表示），它的對數服從正態分佈，所以得名對數正態分佈。\n",
    "\n",
    "#### 定義\n",
    "設$X$是取值為正數的隨機變量，若$log(X) \\sim N(\\mu, \\sigma^2)$，則稱$X$服從對數正態分佈，並記作：$X \\sim LN(\\mu, \\sigma^2)$\n",
    "<br>\n",
    "*這裡的對數是以自然對數$e$為底的，一般記作 $ln$*\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8VPW9//HXZ5ZsZCMkkJAAYSfsYKQi7lqXVsFatXqrdWsttv5qe1v705+31np/vz7urdb23tbqtda2WvelahX3aq07i2whQAIEEghk3zOZ7fv740zCJCQwkEkmZ/g8H4/zmJkzJ3M+cXnPN9/v93yPGGNQSikVXxyxLkAppVT0abgrpVQc0nBXSqk4pOGulFJxSMNdKaXikIa7UkrFIQ13pZSKQxruSikVhzTclVIqDrlideLs7GxTWFgYq9MrpZQtrV27ts4Yk3Ok42IW7oWFhaxZsyZWp1dKKVsSkd2RHKfdMkopFYc03JVSKg5puCulVBzScFdKqTik4a6UUnFIw10ppeJQzKZCDpm2Nvjb36C+HhYvhqVLQSTWVSml1LCKr3BvaoJf/ILOAwfY3tzMgk2bwBhYtizWlSml1LCKn26Zzk74zW9ora5m2UsvsfD55/lndTW89VasK1NKHaPU1NRYlzAkzjjjjJ6LOJ999lmKioo488wzo3qO+Ah3vx8eeADv7t1c8tZbfF5fD8BfKyqguhoaGmJbn1LKVvx+/7Cd6w9/+AO///3veffdd6P6ufHRLfPKKwS3buW6f/yDt/fuJdnppDMQ4PXKSu5buhRKSuDUU2NdpVL29O1vD/05/ud/Dvu2MYYf//jHvPbaa4gI//Zv/8bXvvY1gsEgN998M3//+9+ZMGECbreb66+/nksvvZTCwkKuueYa/va3v+Hz+Xj22WeZNWsWDQ0NXH/99ezcuZOUlBQeeugh5s+fz1133cWOHTvYuXMnEydO5LzzzuPFF1+kvb2dsrIyfvSjH+H1ennsscdITExk1apVZGVl9arz2muvJSkpiTVr1tDS0sJ9993HhRdeSGdnJ9dddx0bNmxg1qxZdHZ2AnD33XfzwQcfcMMNN7B8+XLuueeeqP0jjY+W++ef81plJU+Ul5PqdvPuRReR5nZT2tTEnrY2K9yVUrb1wgsvsH79ejZs2MDbb7/NrbfeSnV1NS+88AIVFRVs2bKFxx57jI8//rjXz2VnZ7Nu3Tpuuukm7r33XgB++tOfsmjRIjZu3MjPf/5zvvGNb/Qcv2XLFt5++22efPJJADZv3swLL7zA6tWrueOOO0hJSeHzzz9n6dKlPProo/3WWlFRwWeffcarr77KypUr8Xg8PPDAA6SkpFBaWsrPfvYz1q5dC8Cdd95JcXExjz/+eFSDHeIl3Jua2N7UBMC1M2bwhbFjOTs/H4A3KiuhtBQCgVhWqJQahA8++IArr7wSp9PJuHHjOP3001m9ejUffPABl112GQ6Hg9zc3EP6rS+55BIATjjhBCoqKno+6+qrrwbgrLPOor6+npaWFgCWL19OcnJyz8+feeaZpKWlkZOTQ0ZGBhdddBEA8+bN6/m8vi6//HIcDgfTp09nypQpbN26lffff5+rrroKgPnz5zN//vyo/bMZiP3D3ecDj4cajweA3NC/mPMLCgB4vbISPB7YtStmJSqlYiMxMREAp9MZUT/6qFGj+v15AIfD0fPa4XAM+HnSZ+p139fDxf7h3tYGQE2oD2tsKNzPmzABgLf37sUXDGrXjFI2duqpp/L0008TCASora3l/fffZ8mSJSxbtoznn3+eYDDIgQMHeO+99yL6rMcffxyA9957j+zsbNLT06NW67PPPkswGOzpv585cyannXYaTzzxBGB19WzcuDFq5xuI/QdUQ39OdYd7TijcC9PSmJmRwbbmZj6tqeGUkhJYsSJmZSplW0cY7BwOX/nKV/j4449ZsGABIsIvfvELcnNz+epXv8o777zD7NmzmTBhAosXLyYjI+Own3XXXXdx/fXXM3/+fFJSUvjzn/8c1VonTpzIkiVLaGlp4cEHHyQpKYmbbrqJ6667jqKiIoqKijjhhBOies7+iDFmyE/Sn+LiYhOVm3Vs3gy/+Q0nvfgin9bU8OHy5Zw8fz7U1PD9jz7ivzZv5o5Fi/i/J54I994LaWmDP6dSasRoa2sjNTWV+vp6lixZwocffkhubm5Marn22mu58MILufTSS4fsHCKy1hhTfKTj7N8t09oK9OmWmTQJcnM5P9Q183plpXVsaWlMSlRKDZ0LL7yQhQsXcuqpp/KTn/wkZsE+0ti/W6a/cE9PhzlzOL2qCpcI6+rqaPf5GLV7NyxZEstqlVJRFkk/+3D505/+FOsSesRFy73d56Pd7yfR6STN7ba6XiZPJtnlomj0aAywubERqqpiXa1SSg2LuAj32tA0yLFJSda0o7Q0CE2FXBC6gmxDfT1UVloLiSmlVJyLi3DvO1OGtDQYNw5cLhaMGQOEwr293Vo5Uiml4lxE4S4i54vINhEpF5HbBjjmchHZIiIlIvJEdMs8jPCWe3i4OxyQn9873EG7ZpRSx4UjhruIOIH7gQuA2cCVIjK7zzHTgduBZcaYOcD3h6DW/rW0HBxMTUqy9nVPdywo6An3jQ0NBI3RcFfKRv77v/+boqIivv71r8e6lIgMx1K+kYpktswSoNwYsxNARJ4CVgBbwo75FnC/MaYRwBhTE+1C+2VMr26ZXi13gIICxiYnk5eSQnVHB7taW5mq4a6Ubfzud7/j7bffpiA0htbN7/fjco3syX7dS/mecsopMTl/JN0y+UBl2Ouq0L5wM4AZIvKhiHwiIudHq8DD6uoCv793uLvd0L0eRGiee6+umcrKfj9KKTWyrFy5kp07d3LBBRfwq1/9irvuuourr76aZcuWcfXVV+PxeLjuuuuYN28eixYt6lkP/Zvf/CYLFy5k4cKF5OTk8LOf/QyAe+65hxNPPJH58+fz05/+FLBWcCwqKuJb3/oWc+bM4dxzz+1Zjjfctddey8qVKykuLmbGjBm88sorAHR2dnLFFVdQVFTEV77ylX6X8r311luH4x/XIaI1oOoCpgNnAFcCvxeRzL4HiciNIrJGRNbU1tYO/qz9zXFPSzt4z9TQypC9ZszU1FhfCkqpiInIkGyH8+CDDzJ+/HjeffddfvCDHwC9l+S9//77ERE2bdrEk08+yTXXXIPH4+Hhhx9m/fr1vPTSS2RnZ3Pttdfy5ptvUlZWxmeffcb69etZu3Yt77//PgBlZWV897vfpaSkhMzMTJ5//vl+6xkpS/lGKpJw3wtMCHtdENoXrgp42RjjM8bsArZjhX0vxpiHjDHFxpjinJycY635oFC4h0+F7LW8QEoKjBnTu+VuDOzbN/hzK6WGXfiSvB988EHPMrqzZs1i0qRJbN++HQCPx8Nll13Gb37zGyZNmsSbb77Jm2++yaJFi1i8eDFbt26lrKwMgMmTJ7Nw4UKg99LAfY2UpXwjFUmn1WpguohMxgr1K4B/6XPMi1gt9j+KSDZWN83OaBbarz4t95zulnu4ggIWlJcDsKH7dntVVTB58pCXp1S8iNUaVH31XZJ3ICtXruSSSy7hnHPOAaz6b7/9dr7d565SFRUVvZb1dTqd/XbLwMhZyjdSR2y5G2P8wM3AG0Ap8IwxpkRE7haR5aHD3gDqRWQL8C5wqzGmfqiK7tG9ImT4VMh+wn1GRgaJTicVra00dXXpjBml4kD40r3bt29nz549zJw5k/vvv5/W1lZuu+3grO3zzjuPRx55hLbQEuF79+6lpubo5n2MlKV8IxXRcLMxZhWwqs++O8OeG+BfQ9vwaW3FGHOw5d63WwagoACXw8G8rCzW1NaysaGB03RQVSnb+853vsNNN93EvHnzcLlc/OlPfyIxMZF7770Xt9vd09WycuVKVq5cSWlpKUuXLgUgNTWVv/zlLzidzojPN1KW8o3UyJ5LdCStrTR7vfiCQdLcbpJdrn7DHaxB1TW1tWyor+e0vXutvvcR/meVUse78P7vu+66q9d7SUlJ/PGPfzzkZ3YNcNe1W265hVtuueWQ/Zs3b+55/qMf/WjAWs455xwefPDBXvuSk5N56qmn+j0+1gua2Xv5gf7muPe9o0pODiQm9h5U9Xigfuh7jZRSKlZs33Lvd+mBcCKQn8/c0Ld5SWOjtX/fPsjOHq5KlVI2NpKW8o1U3LTcc/ouPRAuL485o0cDsKWx0Rr5r64eriqVUmrYxU24D9hyBxg/nrHJyeQkJdHi81HV3g57+07VV0qp+GHfcO9eVyb8AiaA1NRDjx0/HqCn9b65oUEvZFJKxTX7hnt7O4RNgxybnAxJSdbaMn31CfeSxkbYvx+CwWErVymlhpN9w32ge6f2JyMDUlKYE1pjpqSxEXw+qKsbllKVUmq42T7caw93dWo3kV6Dqj0zZnRQVSkVp2wf7oe9OjXc+PG9ZswEdQExpVQci5twP2zLHWD8eMYkJTEuOZl2v589bW0a7kqpuGXrcA8Eg9SFumWyI2i5Q59BVQ13pVScsm+4ezx0+P0YYJTLhcvhgO657v3pG+4NDTpjRikVt+wb7n4/nkAAwFowDPqfBtktLQ1Gjerdcvf7IRp3hFJKqRHGvuHu8/WEe1L3sp2HC3cRa1A1fDokaNeMUiouHT/hDr2mQ5Y2NVkzZnQ6pFIqDh1f4T5+PKMTE8lLSaHD76eitVVb7kqpuGTfcPf78fj9ACR197m7jrCCcX9rzOgCYkqpOGTfcD/GljvA3PBB1QMHIPQ5SikVL+Ii3BMjDfe0NEhLY25oUHVzY6MV7Ed5o1yllBrp7Bvufj9dR9tyB+uuTDpjRikV5+wb7sfSLQOQl8fszEwAShsb8QeDGu5KqbgTX+F+pAFVgPx80hISmJSaijcYpLylRQdVlVJxJ6JwF5HzRWSbiJSLyG39vH+tiNSKyPrQ9s3ol9rHsbbcuwdVu/vd9a5MSqk4dMSmrog4gfuBLwJVwGoRedkYs6XPoU8bY24eghoPsamqmbyGNuo7uqwdRqhv97L/QDvB9sN/X0lwFHntXqamWjf2+OxALWfuqmLfrrqIvhzmFWQMun6llBpqkbTclwDlxpidxhgv8BSwYmjLikDAf8hsGeM6cjib5GQCGZnMyrSmQ25rbgJjcNceGLpalVJqmEUS7vlAZdjrqtC+vr4qIhtF5DkRmRCV6g5DfGGzZRyhcI+kWwbwj8ulKCM0qNrUBIDrwP4hqFIppWIjWgOqfwMKjTHzgbeAP/d3kIjcKCJrRGRN7WBWYwwGwQR7wj3R6bQWBnNE9uv4cvOYnpGBQ4SdrS14An7c+7XfXSkVPyJJw71AeEu8ILSvhzGm3hgT6gDnYeCE/j7IGPOQMabYGFOck5NzLPUCID4fAJ6gFe4JTifG5bICPgL+cXkkOV1MTk0jYAzlLS24teWulIojkYT7amC6iEwWkQTgCuDl8ANEJC/s5XKgNHol9iNgrSnjDZ8tE0F/ezffuFwAikL97lubmnDt13BXSsWPI4a7McYP3Ay8gRXazxhjSkTkbhFZHjrseyJSIiIbgO8B1w5VwRDWcg/rlom0vx3APzYXRJgVuphpa3MjzqYGJHTLPqWUsrsIrvoBY8wqYFWffXeGPb8duD26pQ1MQqtBhg+oGmdEvwoAJiGBwOgxzOo7qFqzH9/EwugWq5RSMWDLK1S7W+5dwfCWe+ThDlbXTHe3TGmTtcaMe7/euEMpFR/sGe7+frpljqLlDtaMmSlp6SQ4HOxpb6PV58NdrTNmlFLxwabhboV6+KqQR9PnDuDPHY/b4WBmT9dMo06HVErFDZuGe6hbJnyeeySLhoXxjbeuw+q5K1Njg9VyNyaKlSqlVGzYMtwJDage62wZAP+YbHC5mZPZvbZ7A+LpxBkaXFVKKTuzZbgf0nJ3OCJaV6YXhwNfbl5Py31Lz6CqLv+rlLI/e4a7L9RyD58tc5TdMgC+vPE9LfctTY0EjdFBVaVUXLBnuIda7t5AEAgNqB5juI9JSiI3OYV2v5+KtlZcGu5KqThg63APH1A96m4ZwJdnDarODXXNlDQ24K7WbhmllP3ZMtwJTYXsdSemY2m551p3ZZqd2T1jphFXfR3S1XW4H1NKqRHPluHe03Lv7nN3HFu3jElOJpCZxZzR3f3uDWAMrhpdREwpZW/2DHefj0AwiC8YRAC3w3HUUyG7+fLGM3d093TI0IyZfdo1o5SyN3uGe8BPV/DgYKqIHFOfO1jhPjUtncTQMgQtXq/OmFFK2Z49wz3sFnsH75969N0yYIW7y+FgZqjfvUSXIVBKxQF7hrvf1zOYmuAYbLiHZsyEwn1L94wZXYZAKWVj9gx3n6/XomEAHGOfe2BMNiYhoWdQdVNjA9LVhbOxISq1KqVULNgy3AkE8Ab7dsscW7gjgi8vn3mhcN8YCnX33srB16mUUjFiy3AXn6/3HHc46pt1hPONL2Be1hgEa+nfrkCAhKo90ShVKaViwp7h7vcdOqB6lDfrCOcrmECa283U9HR8waC1tvveqqjUqpRSsWDPcPf5ey33CxzzPHcAb/4EABZmZQOwvqGehKpKHVRVStmWPcM9rOWe5Bh8y90/dhy43CzIGgPAhoZ6a213HVRVStmUTcPd3+vm2AAMos8dhwPv+Pxe4Q46qKqUsi9bhjvh89yd1q9wzLNlQnz5E3RQVSkVNyIKdxE5X0S2iUi5iNx2mOO+KiJGRIqjV2I/5/EHDpnnPpg+d9BBVaVUfDliuIuIE7gfuACYDVwpIrP7OS4NuAX4NNpFHnKusJZ74iCvUO3WPai6IDSoukEHVZVSNhZJy30JUG6M2WmM8QJPASv6Oe7fgf8EPFGsr1/i9/VcxJQ0yLVluumgqlIqnkQS7vlA+MhiVWhfDxFZDEwwxrx6uA8SkRtFZI2IrKmtrT3qYns+p9+FwwbXLdM9qLowFO7rdVBVKWVjgx5QFREHcB/wwyMda4x5yBhTbIwpzsnJObYTGgOBQ+e5H8udmPrSQVWlVLyIJNz3AhPCXheE9nVLA+YC74lIBXAS8PKQDar6/QC9B1SdLhAZ9Ef78gsOHVSt0pa7Usp+Ign31cB0EZksIgnAFcDL3W8aY5qNMdnGmEJjTCHwCbDcGLNmSCr29XdzbGdUPtpbMBGARaFB1XX1dVbLXQdVlVI2c8RwN8b4gZuBN4BS4BljTImI3C0iy4e6wEOEWu7hs2UG3d/e/dFjx2ESEynOtrqM1tTVIl1duA7oPVWVUvYSUUe1MWYVsKrPvjsHOPaMwZd1GL4+N8d2Ogc9x72Hw4G3YCLFodvsra6rASBh9y78uXnROYdSSg0D+12h2rfl7nQOehpkOO/EQuZkjibF6WJXayt1Hg8Jlbuj9vlKKTUc7Bfuffrck5xOiFK3DIB30mRcDgcLx1hTItfU1ZKwpyJqn6+UUsPB9uFu9blHs+U+CaCn331tXS2umgNIZ0fUzqGUUkPNvuEeDALd3TLRa7mblFH4s3Mozh4LhPW779GuGaWUfdg33MO6ZQZzi73+eCcWcmLoIqvP6+vwB4PaNaOUshX7hXufi5gSnc5B3aijP96JheQkJVOYmka7309pU6OGu1LKVuwX7qGWu6dXyz163TIA3kmFwMF+99V1tdaMGb2YSSllE7YN914Lh0VxQBXAPy6v18VMa+tqEY9HL2ZSStmG/cK9zzz3BEf0W+49FzOFtdzBuphJKaXswH7h3ucK1aQh6HOH0MVMo7MY5XKxs7WFA50dJO7aEfXzKKXUULBvuIcPqEZ5tgyAd8o03A4HS3KsKZEf1xwgYdcO7XdXStmCLcPdGBO2cJgjqvPcu3knFoI4OHlsLgAfHtiPs7kJ6uujfi6llIo2+4W7348vdAGT2+HA6XBEv88dMImJeCdMZNk4K9w/qjlgvbF9e9TPpZRS0Wa/cPf5Dq4I6YjSLfYG4J0yjYVZY0h2OtnW3EStpxO2bRuScymlVDTZMtzD57gDEKWbdfTVNXkqCU4nJ4b1u1NWNiTnUkqpaLJluEf95tgD8BZOAXGwLKzfnfp67XdXSo14tgz3vjfHjuaqkOFMYiK+ggmc3N3v3n0Rk/a7K6VGOPuFu98fttyvVf5QhTtA15SpLB6TTZLTSWlzE3Uej4a7UmrEs1+4D2O3DEDX5GkkOp09V6u+X12t4a6UGvHsF+5+/6EDqkMwFbKb1e8uPVMi39u3D+rqtN9dKTWi2S/cw6dCDkPL3SQl4cufwKnjrBtkv1lVZb1RUjJk51RKqcGyZbgfOqA6NFMhu3mmz+SE7BzS3G62NTezu7UVtmwZ0nMqpdRgRBTuInK+iGwTkXIRua2f91eKyCYRWS8iH4jI7OiXGuLz4Q1YV6gmDUPLHaBrRhFuh4PTcq3W+xtVVVBaCqEvGaWUGmmOGO4i4gTuBy4AZgNX9hPeTxhj5hljFgK/AO6LeqXdwgdUu69QHcI+d7Bumm0SEzkrLx+A1ysrweOBXboEsFJqZIqk5b4EKDfG7DTGeIGngBXhBxhjWsJejgKGbulEvx9P3z73IVjytxenk65pM3vC/Z29e631bbTfXSk1QkUS7vlAZdjrqtC+XkTkuyKyA6vl/r3olNePsJb7wdkyQxzuWP3uE1JTmZmRQYvPx6c1NRruSqkRK2oDqsaY+40xU4H/Dfxbf8eIyI0iskZE1tTW1h7bicIGVBOGqc8doGtmEQDnTZgAwBuVlbBnD7S1Dfm5lVLqaEUS7nuBCWGvC0L7BvIUcHF/bxhjHjLGFBtjinNyciKvMlzYFapJw9TnDhAYnYU/O4fzCgqA0KCqMdbAqlJKjTCRhPtqYLqITBaRBOAK4OXwA0RketjLLwNDs3RiMAjBYO8rVMUBjuGZ0dk1o4jT8/JIcDhYU1trLUWwefOwnFsppY7GEVPRGOMHbgbeAEqBZ4wxJSJyt4gsDx12s4iUiMh64F+Ba4ak2tAt9jxDfIu9gXhmzGKU281peXkYQrNmNm+2vnSUUmoEiSgZjTGrgFV99t0Z9vyWKNfVvz73T01yOmGoZ8qE8U6ZBm43yydN4u29e3mpooKrpk+HHTtg+vQjf4BSSg0Te12h2h3uwfCW+9D3t3czCQkwezYrCgsBeK2yEo/fD+vXD1sNSikVCXuGe3i3zDDMlOll4UImpqayODubdr+fd/bts8LdDN3UfqWUOlr2Cne/H+jdLTPU68ocYv58EOHiUOv9xYoKa5XIffuGtw6llDoMe4V73wFVRwxa7qmpMH06KyZNAuDl3bsJBIPaNaOUGlFsGe5XTp3GHQsWMz0jY1j73HssXMi8rCwmp6VR09nJJzU1Gu5KqRHFXuEOkJrKRdNn8oP5i5iSlj6kt9gb0IIFSN+umT17oLFx+GtRSql+xCAZB2HaNPjlL6muarZehy5qGnbZ2VBQwMWFhfxq0yb+WlHBL77wBWTdOjj77OGvRyml+rBfyz2cwwGxaLkDLFzIsnHjGJuczI6WFtbV1cFnn8WmFqWU6sPe4R5LxcU4HQ4unzIFgCd37ICKCqipiW1dSimFhvuxy8uDggL+Zdo0AJ4sL7dmzaxeHePClFJKw31wlizhpLFjKUxLY19HB//cv9/qmtELmpRSMabhPhgnnoiIcOXUqYDVemf/fqiqinFhSqnjnYb7YGRlwbRpPV0zz+7ahTcQ0IFVpVTMabgP1pIlzM3KYl5WFo1dXdZNPFav1q4ZpVRMabgP1uLF4HD0dM08VlZmXcykd2hSSsWQhvtgpaXBnDlcPX06DhFerKigtrMT/vnPWFemlDqOabhHw7JlFKSmcsGECfiCQR4tK4MNG6C1NdaVKaWOUxru0TB/PqSn881ZswD4fWkpxu+Hjz+OcWFKqeOVhns0OJ1w8sl8eeJEcpOT2dbczIcHDsAHH+jAqlIqJjTco2XZMtwOB9fNnAlYrXcOHIDy8hgXppQ6Hmm4R8vYsTBzJjeEumae2bmTpq4uHVhVSsWEhns0nXoqU9PTOTs/H08gwB+3bbPmvDc1xboypdRxRsM9mhYuhLQ0/tecOQD8d0kJAb8f3nsvtnUppY47EYW7iJwvIttEpFxEbuvn/X8VkS0islFE3hGRSdEv1QbcbjjtNC6cOJGp6elUtLby0u7d8P774PXGujql1HHkiOEuIk7gfuACYDZwpYjM7nPY50CxMWY+8Bzwi2gXahtnnIEzIYFb5s4F4FebNkF7O3zySYwLU0odTyK5jdESoNwYsxNARJ4CVgBbug8wxrwbdvwnwFXRLHIk2dR9i7/DyJw6h4vqmrnDvZoP9u/n7T37mPfXV6mZPB9Ejum88woyjunnlFLHp0i6ZfKByrDXVaF9A7kBeG0wRdld26lnkOZ2c/W0GQA8uHULrtoaErduOcJPKqVUdER1QFVErgKKgXsGeP9GEVkjImtqa2ujeeoRxZ+Xj3fKNL41owinCC/u3sXutlbS//6mXtSklBoWkYT7XmBC2OuC0L5eROQc4A5guTGmq78PMsY8ZIwpNsYU5+TkHEu9ttF66plMSE3l0sIpBIzhV5s34q7cTeL2rbEuTSl1HIgk3FcD00VksogkAFcAL4cfICKLgP/BCna9QzTQNWs2vrx8fjB3Pg4RntpZTmVbG2nvvKGtd6XUkDtiuBtj/MDNwBtAKfCMMaZERO4WkeWhw+4BUoFnRWS9iLw8wMcdP0RoPec8pqVncMmkyfiN4dclG0nYU0Fi+fZYV6eUinORzJbBGLMKWNVn351hz8+Jcl1xwTN7Hv7c8fxw7nyer9jJEzvL+de5C8h55w26ps045pkzSil1JHqF6lASoeXsc5mekcnFkybjCwa5b/MGEip2krS1JNbVKaXimIb7EPPMXYB/XC63zluAQ4S/7CijrLmJ9FUvQzAY6/KUUnFKw32oidBy7peYkZHJVVOnEzCGn61fi6u2hpTP9GYeSqmhoeE+DDyz5+EtnMr/nr+QUS4Xr1dV8tGB/aS//Tri8cS6PKVUHNJwHw4iNH95OeOSU/hukbXmzE8/X4O0tpD6j3diXJxSKh5puA8T34RJdM5fxHeK5jA2KZnP6+t4dtdO0v7xd1xlovLEAAATAUlEQVS1emmAUiq6NNyHUcv5F5KalMydi04A4M51q2nq7CDjxWf1wialVFRpuA+jQNYYWk87k69NnsrSseOo6/Lw7+vXkrijjOT1a2NdnlIqjmi4D7PWs84lmJXNvUuW4hLh0fLtrK2rJeOVF5GO9liXp5SKExruw83tpmnFV5mZkcl3i+ZigB9+9hH+lmYyX34+1tUppeKEhnsMdM2ajWfOfH44bwGTUlPZ3NjILzdvJHn9OpI2rY91eUqpOKDhHiNNF11CcmoqvznpFAT4dclG1tXVMvqFZ3C0tsS6PKWUzWm4x0gwM5Om5V/l5HG5rJw1h4AxfOfjf+JpbWH080/p7Bml1KBouMdQ56JiPLPnccfCRcxIz6C8pYWfrltD4tYtpL7/7pE/QCmlBqDhHksiNF1yOQnpmfzu5FNJcDh4pGwrf63YRfrrr5Cwa2esK1RK2ZSGe4wFU9NouvQKFo7J5t8XnwjA9z/9kLLmRrKe/DOOttYYV6iUsiMN9xHAUzSXttPO5PoZs1gxsZB2v58b/vkenoZ6sh57BPz+WJeolLIZDfcRouW8C/EVTuHXJy1jalo6W5oa+e5H/8RVsVMHWJVSR03DfaRwOmm48hpGZWTy2OlnkeZ287fK3fzHhs9J/nwNvP56rCtUStmIhvsIEszMpOGq65gxegx/OOUMnCLcV7KRZ3btgBdfhI8+inWJSimb0HAfYbxTptF0yeWcNT6fn5+wBIBbPvmQ1ysr4dFH4fPPY1yhUsoONNxHoI7iL9B2+lncMLOIm2bNwRcMcsmbb/JhdTU8/DCUlsa6RKXUCKfhPkK1nH8RnfMXcffiYv5lyjQ6AwG+/PrrrN+/H+6/H0pKYl2iUmoEiyjcReR8EdkmIuUicls/758mIutExC8il0a/zOOQCI2Xfx3vzCLu+8LJXFJYSLPXy9mvvsq66mr43e9g48ZYV6mUGqGOGO4i4gTuBy4AZgNXisjsPoftAa4Fnoh2gcc1l4uGr19HcPJUnjj7bC6aOJGGri7OeuUVPt23Dx54AD79NNZVKqVGoEha7kuAcmPMTmOMF3gKWBF+gDGmwhizEQgOQY3HNZOYSP213yJx2jSe++IX+erkyTR7vXzx1Vd5p7ISHnnEmiap8+CVUmEiCfd8oDLsdVVo31ETkRtFZI2IrKmtrT2WjzgumeQU+P73SZgxg6fOPpsrp06l1efjgtde4/GyMvjrX+GJJ/RKVqVUD9dwnswY8xDwEEBxcbE2NY9GUhLccguu3/6Wv4iQl5LCfZs2cdW777K7rY3bjUH27YNvfxvS02NdrVIqxiJpue8FJoS9LgjtU8MtMRG+9z0cJ5zAL5cu5ddLlyLAHatXc+U779BeWgr/7//BTl1NUqnjXSThvhqYLiKTRSQBuAJ4eWjLUgNyu+HGG+Gcc7hl3jxePPdc0txunt65k5Nfeokde/bAPfdoP7xSx7kjhrsxxg/cDLwBlALPGGNKRORuEVkOICInikgVcBnwPyKik7CHkghcdhlceSXLp0zh04svZnpGBhsbGlj8/PM8tX271Q//619DQ0Osq1VKxYCYGLXuiouLzZo1a47pZzdVNUe5mpFvXkFG/29s3w4PPURTXR03/OMfvFBRAcD1M2fy66VLSUtPh0svhVNOsb4UlFK2JiJrjTHFRzpOr1C1uxkz4I47yJw1i+e++EUeOOUUkpxOHtm2jXnPPcc7O3bAX/5iteL37491tUqpYTKss2XUEBk9Gm69FXnpJVaKcEpuLte89x7r6uo459VX+dasWfxnVxejy8rg3HPhgguswVmlVNzSlnu8cDrhkkvg+99n7pQpfHLxxfx7cTFuh4Pfb93KzKef5s+lpZhVq+AnP4EPP4SgXnOmVLzSPnebGLDPvT8dHfDss/DRR5Q0NPCdDz/k/epqAE4aO5ZfnnQSJ+fmwvjxsHw5LFyo/fFK2USkfe4a7nEscesWMl96HkdDHc/u2sldn6+mxuMBYPnESdw+fxHTMzLx5eXTes55eGbP6zfkj+qLRSk1pDTcFQDi9ZL67lukvf8urZ5OfrtlM78r3UxnIIBDhEsLp/DDuQuYmp6OP2csbaefTceCxdZ8+hANd6VGDg131YuzrpaM118hafMG9nW088tNG3h8Rxl+Y3CIsHziJL43ex7zs8YQHJVK+xdOpv0LJxPMyNRwV2oE0XBX/Uqo2EX6ay+TsHsXe9pa+eVm6x6tvtDg6qnj8rhxVhHnji/A6XThmTWb/BXnwezZ4NDxd6ViTcNdDcwYErdvJf2t13BX7WFfRzsPlG7h0fJttIdWlpyUmso3ps3giinTmJ2dCRkZsGQJnHQS5OfrAKxSMaLhro7MGBLLt5P63tsk7iij2dvF4zvK+cP2Una3tQHgEuHCSZP4xvTpfGniRBKdThg3Dk48ERYt0qBXaphpuKuj4q7cTeqH/yB5w3oCAT/vVu/j0fLtvLG3kkDov5GsxEQunTyZy6dO5fS8PFwOB2RnW1Mp582DadPApdfFKTWUNNzVMXE0NzHqs48ZtfoTHC3N7O/s4PV9e3h0+3Y2hi1ClpOUxIrCQi4uLOTs8eNJcrmsq15nzbL654uKYOxYbdUrFWUa7mpwgkGStm0hZc1n5FeWQSDApoYGnt6xg6d37KC8paXn0BSXi7PGj+dLEydyXkEBU7pvFpKZaa19M2OG1arPzdWwV2qQNNxV1Mwb7YLVq2HNGigvxwSDbG5s5MWKCl6sqGBdXV2v46ekpXFOfj5njh/P6ePHk5eSYr0xahRMnnxwKyy09imlIqbhrqKm1zz3piZYuxbWr4eyMjCGfe3tvF5ZyarKSv6+bx+NXV29fn5aejrLcnNZNm4cJ40bx+zMTJzd0yrHjIGJE2HCBGvLz4esLG3hKzUADXcVNQNexNTWBps2webNsGULdHQQCAZZV1fHO/v28Y/qaj7Yv582n6/Xj6W63RRnZ1Ock8MJ2dkszs5mWkYGju5AT0qy1r3Jy7Mec3OtLStL59qr456GuxpewSDuyj0klW0lsXw7CXt2QzCAPxhkc2MDn9XW8GltDevqa6lsbz/kx0e5XMzOHE1R5mhmZ45mVmYmJ+XmMDY5GekOfZcLcnKsgdqcnINbdrYV/GFLJigVrzTcVUyJ10vCngoSdpSRuHsX7srdSKgFf6Czg8/r69nQUMeGhno2Nzawr6Oj38/JSkxkVmYmMzMymJmZyfSMDKalpzM1PZ1RfcM8Pd0K+e5t9Ghry8y0towMnaqpbE/DXY0sgQDu/ftI2LMbd+VuEqr24Kqt6bmJd73HQ0lTA6VNTWxpamRrUyNlLc209OnSCZebnMzk9HQmp6UxOS2NSampTEpLY8KoUUxITSW1v5b8qFFWyGdkWF8G3VtamvWYmnpwS0jQvn814mi4qxFPurpwV+/DXV1lPe7bi6tmP+L1ApCV4qa6o4OtTU1sa25mW1MTO1paKGtuZmdra896OAPJTEigYNQo8kPb+JQU8kJbbkoKucnJjEtJIWWg1rzbbX0ZpKZaj91bSkrvLTn50E2/GNQQiTTc9W9UFTMmMRFv4WS8hZPDdhqcjQ24D1TTcuAArtoDFNXWML+2Buk82HUTCAbZ39nJrrYWKtvaqGxvZ097K3vbO6jqaGNfeztNXi9NXi+bGxsPW8col4ucpGTGJCYyJimJ/FEpZCclkZ2UxJjuLTGRrMREspKSGJ2QYF20dTgOhzUwnJxsXdyVlHRw636dkHDwMTHx4JaQMPDmcumXhoqIhrsaWUQIZI0hkDUGiub2esvR3oazrg5XfS2uhnqy6uvIaWxgaWMDzpbmni4eAGMMDV1d7O1op7qjg/2dHVR3dnCgs5Oazk4OdHZQ6/FQ6+mk3e+nva2VirbWiMtMcjoZnZhIZkICmYmJZCQkkJmQQEZCAulut/UY2tLc7l5bauhxlNtNgsNxcMA4Um63tSUkHHzudlvB399rl+vg1v3a6bSeO5293+9+7XQe+ry/192bw2Ft+sUzYkQU7iJyPvBfgBN42BjzH33eTwQeBU4A6oGvGWMqoluqOt4FR6USHJWKb1LhoW/6/Tibm3A2N+FqbMDZ3ERycxMzmpspam7C2dqCo72t1xcAWF8CrT4ftR4PdZ5O6rs81HV10eDx0ODtoqHLQ0NXF01dXhq8HppDfw14AgGqOzqoHmAgOFIuEVJcLlJcbka5XKQlWI8pLhej3G5SXC6SnU7rMfQ8Oex5Uuh1Uuh5UtjzxLDHRKeTRIeDRKfz6L9MjobDcTDs+wZ/+P6++0R67z/SJtL7caD3cnLg5JOH7vcdwY4Y7iLiBO4HvghUAatF5GVjzJaww24AGo0x00TkCuA/ga8NRcFK9cvlIjAmm8CYbLwDHRMI4GhrxdnaYoV9W5v1uq2N8W2tFLS14mxvx9HRjqOtDYKBfj/GGENHwE9LKOibvV5afF5avD5afF5aQ8/b/D5afT7afNbzttDzdr+fNr+PDr8fXzBIi8932IHjaHOHQj4h7DGh+zHsuTv03C1y8Hlof9/NFTrG1f06bL8r/LGffc6wx4Geh+/r3hzdz/u8173f7XAgM2dquB/GEqDcGLMTQESeAlYA4eG+Argr9Pw54LciIiZWo7VK9cfpJJiRSTAjkyNGqTFIV5cV9B3tODo6rK3T2qSzk4zODkZ3diKeThweDw5PJ+Lx4PB4IOCPqCRvIECH309HwE+730+H309n92NonycQwNOzL4AnENoX2rp6nvvxBoJ4gtY+b2i/NxigKxCkKxjAFwz2bPHun8uXc0pRUazLiJlIwj0fqAx7XQV8YaBjjDF+EWkGxgB1KGVHIpikJAJJSVb//9Hy+3F0eZCuLqTLg8MTeuzqQrxd1hdH6NHt9ZLp8zLa60W8XsTnxeH1Ij6f9dofevT5Iv7SGIgxBm8wiDcYwBuwHn3BoLUvEMRngvhCXwb+0H5fMIjfWO/7zcEvB3/QOj4QNNa+0PPuYwLG9DwGggf3+U0Qf9BYz7vfD+0PmkP3W5v12eH7gqGt531jMIae560eP/uaPdSPwNl1w3HrymEdUBWRG4EbQy/bRGTbMXxMNvH1paG/z8imv8/INuDv86U3V8Gbq+Bn/2eYSxqUSP79TIrkgyIJ973AhLDXBaF9/R1TJSIuIANrYLUXY8xDwEORFDYQEVkTyRxPu9DfZ2TT32dk099nYJGswrQamC4ik0UkAbgCeLnPMS8D14SeXwr8XfvblVIqdo7Ycg/1od8MvIE1FfIRY0yJiNwNrDHGvAz8AXhMRMqBBqwvAKWUUjESUZ+7MWYVsKrPvjvDnnuAy6Jb2oAG1a0zAunvM7Lp7zOy6e8zgJitLaOUUmro6J0PlFIqDtkm3EXkfBHZJiLlInJbrOsZDBGZICLvisgWESkRkVtiXVM0iIhTRD4XkVdiXctgiUimiDwnIltFpFRElsa6psEQkR+E/lvbLCJPikhSrGs6WiLyiIjUiMjmsH1ZIvKWiJSFHkfHssajMcDvc0/ov7mNIvJXEck81s+3RbiHLYFwATAbuFJEZse2qkHxAz80xswGTgK+a/Pfp9stQGmsi4iS/wJeN8bMAhZg499LRPKB7wHFxpi5WBMj7Djp4U/A+X323Qa8Y4yZDrwTem0Xf+LQ3+ctYK4xZj6wHbj9WD/cFuFO2BIIxhgv0L0Egi0ZY6qNMetCz1uxgiM/tlUNjogUAF8GHo51LYMlIhnAaVizwDDGeI0xTbGtatBcQHLoOpQUYF+M6zlqxpj3sWbjhVsB/Dn0/M/AxcNa1CD09/sYY940xnRfhvwJ1nVFx8Qu4d7fEgi2DsNuIlIILAI+jW0lg/Zr4MdAPCxaMhmoBf4Y6mZ6WERGxbqoY2WM2QvcC+wBqoFmY8ybsa0qasYZY6pDz/cD42JZTJRdD7x2rD9sl3CPSyKSCjwPfN8Y0xLreo6ViFwI1Bhj1sa6lihxAYuBB4wxi4B27PXnfi+hfugVWF9a44FRInJVbKuKvtCFk3Ex/U9E7sDqvn38WD/DLuEeyRIItiIibqxgf9wY80Ks6xmkZcByEanA6jI7S0T+EtuSBqUKqDLGdP819RxW2NvVOcAuY0ytMcYHvADEyzq4B0QkDyD0WBPjegZNRK4FLgS+Ppgr/e0S7pEsgWAbYt0t4Q9AqTHmvljXM1jGmNuNMQXGmEKsfzd/N8bYtmVojNkPVIrIzNCus+m9xLXd7AFOEpGU0H97Z2PjAeI+wpc+uQZ4KYa1DFroxkg/BpYbYwZ1JxhbhHtogKF7CYRS4BljTElsqxqUZcDVWC3c9aHtS7EuSvXyv4DHRWQjsBD4eYzrOWahv0CeA9YBm7D+v7fdlZ0i8iTwMTBTRKpE5AbgP4AvikgZ1l8o/3G4zxhJBvh9fgukAW+FcuHBY/58vUJVKaXijy1a7koppY6OhrtSSsUhDXellIpDGu5KKRWHNNyVUioOabgrpVQc0nBXSqk4pOGulFJx6P8DEFKhpIlsmJcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.stats import lognorm\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plot\n",
    "\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "s = 1\n",
    "mean, var, skew, kurt = lognorm.stats(s, moments='mvsk')\n",
    "x = np.linspace(lognorm.ppf(0.01, s),\n",
    "                lognorm.ppf(0.99, s), 100)\n",
    "ax.plot(x, lognorm.pdf(x, s),\n",
    "       'r-', lw=5, alpha=0.6, label='lognorm pdf')\n",
    "rv = lognorm(s)\n",
    "ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf')\n",
    "vals = lognorm.ppf([0.001, 0.5, 0.999], s)\n",
    "np.allclose([0.001, 0.5, 0.999], lognorm.cdf(vals, s))\n",
    "r = lognorm.rvs(s, size=1000)\n",
    "ax.hist(r, density=True, histtype='stepfilled', alpha=0.2)\n",
    "ax.legend(loc='best', frameon=False)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\begin{equation}\n",
    "f_X(x) = \\left\\{\n",
    "             \\begin{array}{lr}\n",
    "            \\frac{1}{\\sqrt{2\\pi}\\sigma x} exp\\left[-\\frac{1}{2\\sigma^2}(ln(x) - \\mu)^2\\right] \\ \\ &\\text{if $x > 0$}\\\\\n",
    "            0 \\ \\ &\\text{if $x \\leq 0$} \\\\\n",
    "             \\end{array}\n",
    "\\right.\n",
    "\\end{equation}$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質\n",
    "為了方便討論，我們就用 $ln(x;\\mu,\\sigma^2)$ 表示上式子。\n",
    "\n",
    "*因為$X$取了自然對數後，自然的，不再是對稱的了，圖如上*\n",
    "\n",
    "##### 性質一\n",
    "由上面的PDF可以看出，在$ln(x) = \\mu$或者$x = e^{\\mu}$時，取得極大值，即分佈的眾數為$e^{\\mu}$\n",
    "\n",
    "##### 性質二\n",
    "跟正態分佈同樣的是，對數正態分佈也具有可加性.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 例題：\n",
    "若一直某種花崗岩中的$Fe_2O_3$（三氧化二鐵）的含量服從對數分佈：$LN(\\mu, \\sigma^2)$今天從岩石樣本中測的$Fe_2O_3$的含量分別為：\n",
    "\n",
    "$$5.98, 3.13, 6.75, 4.60, 10.31, 4.78, 6.15, 3.09, 0.84, 1.07$$\n",
    "\n",
    "希望知道$Fe_2O_3$的含量落在$(3,9)$的概率。\n",
    "\n",
    "解題：\n",
    "若$X\\sim LN(\\mu, \\sigma^2)$，則 $Y = ln(X) \\sim N(\\mu,\\sigma^2)$,可以用正態分佈來估計$\\mu,\\sigma^2$:\n",
    "$$ Y = [1.78842057,  1.141033,    1.9095425,   1.5260563,   2.3331143,   1.56444055, \n",
    "  1.81645208,  1.12817109, -0.17435339,  0.06765865]$$\n",
    "\n",
    "$\\mu = \\bar{Y} = 1.310, \\ \\ \\hat{\\sigma^2} = 0.646, \\ \\ \\hat{\\sigma^2} = 0.804$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 1.7884206   1.141033    1.9095426   1.5260563   2.3331144   1.5644406\n",
      "  1.8164521   1.1281711  -0.17435342  0.0676587 ] \n",
      " 1.3100536 \n",
      " 0.8035576\n"
     ]
    }
   ],
   "source": [
    "from math import log\n",
    "x = np.array([5.98, 3.13, 6.75, 4.60, 10.31, 4.78, 6.15, 3.09, 0.84, 1.07], dtype=np.float32)\n",
    "log_x = np.log(x)\n",
    "mean = np.mean(log_x)\n",
    "var = np.var(log_x, ddof = 1)\n",
    "sd = np.std(log_x, ddof = 1)\n",
    "print(log_x,'\\n',mean,'\\n',sd)\n",
    "# ddof means delta degree of freedom"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The probability that drop in 3 to 9 is 46.899 %\n"
     ]
    }
   ],
   "source": [
    "from math import exp\n",
    "from scipy import stats\n",
    "\n",
    "def lognorm_cdf(x, mu, sigma):\n",
    "    shape  = sigma\n",
    "    loc    = 0\n",
    "    scale  = exp(mu)\n",
    "    return stats.lognorm.cdf(x, shape, loc, scale)\n",
    "\n",
    "x_1 = 3\n",
    "x_2 = 9\n",
    "mu     = mean\n",
    "sigma  = sd\n",
    "p_1      = lognorm_cdf(x_1, mu, sigma)  #yields the expected 0.74341\n",
    "p_2      = lognorm_cdf(x_2, mu, sigma)\n",
    "print(\"The probability that drop in 3 to 9 is\",format((p_2 - p_1) * 100, '.5g'),\"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Discrete Distribution \n",
    "\n",
    "通常的，我們將隨機變量分為兩類：連續隨機變量和離散隨機變量，在這裏我們首先介紹由離散隨機變量構成的離散型分佈：兩點分佈、二項分佈、泊松分佈、超幾何分佈、幾何分佈、負二項分佈等等，我們將會介紹他們的基本性質。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 兩點分佈 (Bernoulli Distirubtion)\n",
    "\n",
    "也被稱為「伯努利分佈」或者「0-1分佈」。這個分佈是指：若「伯努利實驗」成功，則變量取值為$1$，反之，則記為$0$。所以我們將其成功的概率記為$p, \\ \\ p \\in (0,1)$，失敗的概率為$q = (1 - p)$。\n",
    "\n",
    "#### 伯努利實驗 (Bernoulli trail) \n",
    "這個實驗是指單詞實驗中，這個事件的結果是兩個可能性結果中的一個。這樣的事件都可以表達成「是」或者「否」(Yes or No)： \n",
    "* 拋起一個硬幣，落下時是正面還是反面？\n",
    "* 生下一個孩子，是男孩還是女孩（不考慮特殊情況）？\n",
    "* etc.\n",
    "\n",
    "#### 性質\n",
    "\n",
    "任意的兩點分佈，均可以變換成如下標準概型：\n",
    "\n",
    "$\\begin{align*}\n",
    "    \\begin{pmatrix}\n",
    "        0 & 1 \\\\\n",
    "        q & p \n",
    "    \\end{pmatrix} \n",
    "    , \\ \n",
    "    p + q = 1 \n",
    " \\end{align*}$\n",
    "\n",
    "* 其概率質量函數(probability mass function)為：\n",
    "    $$ f_X(x) = p^x(1-p)^x $$\n",
    "* 其期望值（可以通過原始矩(moments)進行證明）為：\n",
    "    $$\\displaystyle E(X) = \\sum_{i = 0}^1 x_i f_X(x) = 0 + p = p$$ \n",
    "* 其方差值（同樣可以通過矩進行證明）為：\n",
    "    $$\\displaystyle Var(X) = \\sum_{i = 0}^1 x_i - E(X)^2 f_X(x) = p \\times q = p \\times (p - 1)$$ "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 二項分佈\n",
    "\n",
    "假設我們有五個小孩，根據遺傳學的研究發現生男孩的概率是$p = 0.5116$，我們需要猜測三男兩女的概率，這有幾種可能？**排列組合問題**：$\\binom{5}{3} p^3 (1-p)^2$，其中 $p$ 是生男孩的概率，$(1 - p)$就是生女孩的概率。\n",
    "\n",
    "一般的，若我們進行了$n$次獨立實驗，每次實驗只有兩個可能的結果（生男「事件：A」還是生女「事件：非A」），且$p = P(A), \\ q = P(A^C) $，$p + q = 1, \\ p \\in (0,1)$，用 $X$ 來表示這$n$次實驗中$A$發生的次數：\n",
    "\n",
    "$$P(X = m) = C^m_n p^m q^{n-m}, \\ \\ m = 0,1,\\dots,n,$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAGlNJREFUeJzt3X2QVPW95/H3hxlhQsZSL0xlE2F48LIGDAR0LhcfVmU1EROEJBcTjLoQtcig1L1rKpPVNeUo5tbeCykT3YAPUcQYI2pI4dyElMZokqKUyBiJCj4w4IhINqK4KtHRHfzuH91g08wwp2d6umfmfF5VXX3O7/zO6e8c7U8ffn36HEUEZmaWDoPKXYCZmZWOQ9/MLEUc+mZmKeLQNzNLEYe+mVmKOPTNzFLEoW9mliIOfTOzFHHom5mlSGW5C8g3fPjwGD16dLnLMDPrV5588snXI6Kmq359LvRHjx5Nc3NzucswM+tXJL2cpJ+Hd8zMUsShb2aWIg59M7MUceibmaWIQ9/MimrPHmhshJoaGDQo89zYmGm38utzZ++YWf+1Zw9MmwZbt0JbW6bt9ddhyRJYvRrWr4fq6vLWmHY+0jezolm69MDA36etLdO+dGl56rKPOPTNrGiWLz848Pdpa4ObbiptPXawARf6vTGe2Nraymc+85kOl11yySVs3ry5+xsvsfvvv5/x48czffr0cpdiA9Abb/RsufW+ATWmX47xxNtuu624G+xlt99+Oz/+8Y855ZRTyl2KDUDDhmXec4dabuU1oI70e3M8sb29nfPPP5/x48czZ84c3n33XQBOP/30/ZeNqK6u5qqrruKzn/0s06ZN469//SsAL7/8MmeccQaTJk3ijDPOYPv27QDMnz+fhQsXMm3aNMaOHcvvf/97LrroIsaPH8/8+fM7rGP06NF85zvfYeLEiUydOpWWlpbE21q8eDHr1q3j4osvpqGhofs7w6wTl14KVVUdL6uqgoULS1uPdSAi+tTjhBNOiO4aPjwCOn/U1HRvuy+99FIAsW7duoiI+MY3vhFLly6NiIjTTjstNmzYEBERQDQ1NUVERENDQ1x33XURETFz5sxYuXJlRETcfvvtMXv27IiImDdvXnzta1+LDz/8MNasWROHH354PP3007F37944/vjj46mnnjqollGjRsX3vve9iIi4884744tf/GJB28qt16zY3nkn4rjjIiorD3zvVVZm2t95p9wVDlxAcyTI2AF1pN+b44kjR47k5JNPBuCCCy5g3bp1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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6c6b4650>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy.stats import binom\n",
    "import matplotlib.pyplot as plt\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "n, p = 5, 0.5116\n",
    "mean, var, skew, kurt = binom.stats(n, p, moments='mvsk')\n",
    "x = np.arange(binom.ppf(0.01, n, p),\n",
    "              binom.ppf(0.99, n, p))\n",
    "ax.plot(x, binom.pmf(x, n, p), 'bo', ms=8, label='binom pmf')\n",
    "ax.vlines(x, 0, binom.pmf(x, n, p), colors='b', lw=5, alpha=0.5)\n",
    "rv = binom(n, p)\n",
    "ax.vlines(x, 0, rv.pmf(x), colors='k', linestyles='-', lw=1,\n",
    "        label='frozen pmf')\n",
    "ax.legend(loc='best', frameon=False)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAEtZJREFUeJzt3X+s3Xd93/HnK44TpjG5aWNpKI6xWV2pZmkTeusyoVG0BjDrEiMtqKamDROT1Y6ondA0hWVKNFeRWip11bZUxFst0e4yk0JV3SGjKCuwqaoCvoEAdTKPGxc7V0aKizPYZJbM4b0/zjfL8c117vf4nnvO9f08H9LR/X4/38/3nPf92Od1vvd7vj9SVUiS2nDNtAuQJE2OoS9JDTH0Jakhhr4kNcTQl6SGGPqS1BBDX5IaYuhLUkMMfUlqyLXTLmCpG2+8sXbs2DHtMiTpqvLEE0/8VVVtXanfugv9HTt2MD8/P+0yJOmqkuR0n37u3pGkhhj6ktQQQ1+SGmLoS1JDDH1JaoihL2nsZmdhxw645prBz9nZaVekl627QzYlXd1mZ+HgQbhwYTB/+vRgHuDAgenVpQG39CWN1X33vRL4L7twYdCu6TP0JY3VmTOjtWuyDH1JY7V9+2jtmixDX9JYPfggbN58advmzYN2TZ+hL2msDhyAO+6ALVsG81u2DOb9End98OgdSWN3yy2Dh9Yft/QlqSGGvtSDJxtpo3D3jrQCTzbSRuKWvrQCTzbSRtIr9JPsTXIyyUKSe5dZ/itJvpHkySR/lmT30LKPduudTPLucRYvTYInG2kjWTH0k2wCHgLeA+wG3j8c6p1PVtUtVXUr8DHgd7p1dwP7gTcDe4Hf655Pump4spE2kj5b+nuAhao6VVUvAkeBfcMdqup7Q7N/Hahueh9wtKpeqKq/BBa655OuGp5spI2kT+jfBDw7NL/YtV0iyYeTPMNgS//XRlz3YJL5JPPnzp3rW7s0EZ5spI2kz9E7WaatXtVQ9RDwUJJfBP4lcPcI6x4GDgPMzMy8ark0bZ5spI2iz5b+InDz0Pw24Oxr9D8KvPcK15UkraE+oX8c2JVkZ5LrGHwxOzfcIcmuodmfB77ZTc8B+5Ncn2QnsAv48urLliRdiRV371TVxST3AI8Cm4AjVXUiySFgvqrmgHuS3A78X+B5Brt26Po9AjwFXAQ+XFUvrdHvIklaQa8zcqvqGHBsSdv9Q9O//hrrPgh4nIMkrQOekStJDTH0Jakhhr4kNcTQl6SGGPqS1BBDX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIYa+JDXE0Jekhhj6ktQQQ1+SGmLoS1JDDH1JaoihL0kNMfQlqSGGviQ1xNCXpIYY+pLUEENfkhrSK/ST7E1yMslCknuXWf6RJE8l+XqSP03yxqFlLyV5snvMjbN4SdJorl2pQ5JNwEPAO4FF4HiSuap6aqjbV4GZqrqQ5FeBjwG/0C37flXdOua6JUlXoM+W/h5goapOVdWLwFFg33CHqvpCVV3oZh8Hto23TEnSOPQJ/ZuAZ4fmF7u2y/kQ8Lmh+dclmU/yeJL3LrdCkoNdn/lz5871KEmSdCVW3L0DZJm2WrZj8gFgBvjZoebtVXU2yZuAzyf5RlU9c8mTVR0GDgPMzMws+9ySpNXrs6W/CNw8NL8NOLu0U5LbgfuAO6vqhZfbq+ps9/MU8EXgtlXUK0lahT6hfxzYlWRnkuuA/cAlR+EkuQ14mEHgPzfUfkOS67vpG4G3AcNfAEuSJmjF3TtVdTHJPcCjwCbgSFWdSHIImK+qOeC3gdcDf5QE4ExV3Qn8OPBwkh8w+ID5zSVH/UiSJqjPPn2q6hhwbEnb/UPTt19mvT8HbllNgZKk8fGMXElqiKEvSQ0x9CWpIYa+JDXE0Jekhhj6ktQQQ1+SGmLoS1JDDH1JaoihL0kNMfQlqSGGviQ1xNCXpIYY+pLUEENfkhpi6EtSQwx9SWqIoS9JDTH0Jakhhr4kNcTQl6SG9Ar9JHuTnEyykOTeZZZ/JMlTSb6e5E+TvHFo2d1Jvtk97h5n8ZKk0awY+kk2AQ8B7wF2A+9PsntJt68CM1X1E8CngY916/4w8ADwM8Ae4IEkN4yvfEnSKPps6e8BFqrqVFW9CBwF9g13qKovVNWFbvZxYFs3/W7gsao6X1XPA48Be8dTuiRpVH1C/ybg2aH5xa7tcj4EfO4K15UkraFre/TJMm21bMfkA8AM8LOjrJvkIHAQYPv27T1KkiRdiT5b+ovAzUPz24CzSzsluR24D7izql4YZd2qOlxVM1U1s3Xr1r61S5JG1Cf0jwO7kuxMch2wH5gb7pDkNuBhBoH/3NCiR4F3Jbmh+wL3XV2bJGkKVty9U1UXk9zDIKw3AUeq6kSSQ8B8Vc0Bvw28HvijJABnqurOqjqf5DcYfHAAHKqq82vym0iSVtRnnz5VdQw4tqTt/qHp219j3SPAkSstUJI0Pp6RK0kNMfQlqSGGviQ1xNCXpIYY+pLUEENfkhpi6EtSQwx9SWqIoS9JDTH0Jakhhr4kNcTQl6SGGPqSNGWzs7BjB1xzzeDn7OzavVavq2xKktbG7CwcPAgXuruMnz49mAc4cGD8r+eWviRN0X33vRL4L7twYdC+Fgx9SZqiM2dGa18tQ1+Spmj79tHaV8vQl6QpevBB2Lz50rbNmwfta8HQl6QpOnAA7rgDtmwZzG/ZMphfiy9xwaN3JGnqbrll8JgEt/QlqSGGviQ1pFfoJ9mb5GSShST3LrP87Um+kuRikruWLHspyZPdY25chUuSRrfiPv0km4CHgHcCi8DxJHNV9dRQtzPAB4F/tsxTfL+qbh1DrZKkVerzRe4eYKGqTgEkOQrsA/5/6FfVt7plP1iDGiVJY9Jn985NwLND84tdW1+vSzKf5PEk7x2pOknSWPUJ/SzTViO8xvaqmgF+EfjdJH/rVS+QHOw+GObPnTs3wlPrSk3yqn6S1o8+ob8I3Dw0vw042/cFqups9/MU8EXgtmX6HK6qmaqa2bp1a9+n1hV6+ap+p09D1StX9TP4pY2vT+gfB3Yl2ZnkOmA/0OsonCQ3JLm+m74ReBtD3wVoOiZ9VT9J68eKoV9VF4F7gEeBp4FHqupEkkNJ7gRI8tNJFoH3AQ8nOdGt/uPAfJKvAV8AfnPJUT+agklf1U/S+tHrMgxVdQw4tqTt/qHp4wx2+yxd78+BCZ1crL62bx/s0lmuXdLG5hm5DZr0Vf0krR+GfoMmfVU/SeuHV9ls1CSv6idp/XBLX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIYa+JDXE0Jekhhj6ktQQQ1+SGmLoS1JDDH1JaoihL0kNMfQlqSGGviQ1xNCXpIYY+pLUEENfkhpi6EtSQwx9SWpIr9BPsjfJySQLSe5dZvnbk3wlycUkdy1ZdneSb3aPu8dVuCRpdCuGfpJNwEPAe4DdwPuT7F7S7QzwQeCTS9b9YeAB4GeAPcADSW5YfdmSpCvRZ0t/D7BQVaeq6kXgKLBvuENVfauqvg78YMm67wYeq6rzVfU88Biwdwx1S5KuQJ/Qvwl4dmh+sWvrYzXrSpLGrE/oZ5m26vn8vdZNcjDJfJL5c+fO9XxqSdKo+oT+InDz0Pw24GzP5++1blUdrqqZqprZunVrz6eWJI2qT+gfB3Yl2ZnkOmA/MNfz+R8F3pXkhu4L3Hd1bZKkKVgx9KvqInAPg7B+Gnikqk4kOZTkToAkP51kEXgf8HCSE92654HfYPDBcRw41LVJkqbg2j6dquoYcGxJ2/1D08cZ7LpZbt0jwJFV1ChJGhPPyJWkhhj6ktQQQ1+SGmLoS1JDDH1JaoihL0kNMfQlqSGGviQ1xNCXpIYY+pLUEENfkhpi6EtSQwx9SWqIoS9JDTH0Jakhhr4kNcTQl6SGGPqS1BBDX5IaYuhLUkMMfUlqiKEvSQ3pFfpJ9iY5mWQhyb3LLL8+yae65V9KsqNr35Hk+0me7B4fH2/5kqRRXLtShySbgIeAdwKLwPEkc1X11FC3DwHPV9WPJtkP/BbwC92yZ6rq1jHXLUm6An229PcAC1V1qqpeBI4C+5b02Qd8opv+NPBzSTK+MiVJ49An9G8Cnh2aX+zalu1TVReB7wI/0i3bmeSrSf5rkr+7ynolSauw4u4dYLkt9urZ59vA9qr6TpKfAv4kyZur6nuXrJwcBA4CbN++vUdJkqQr0WdLfxG4eWh+G3D2cn2SXAtsAc5X1QtV9R2AqnoCeAb4saUvUFWHq2qmqma2bt06+m8hSeqlT+gfB3Yl2ZnkOmA/MLekzxxwdzd9F/D5qqokW7svgknyJmAXcGo8pUuSRrXi7p2qupjkHuBRYBNwpKpOJDkEzFfVHPD7wB8mWQDOM/hgAHg7cCjJReAl4Feq6vxa/CKSpJX12adPVR0Dji1pu39o+v8A71tmvc8An1lljZKkMfGMXElqiKEvSQ0x9CWpIYa+JDXE0Jekhhj6ktSQDRP6s7OwYwdcc83g5+zstCuSpPWn13H6693sLBw8CBcuDOZPnx7MAxw4ML26JGm92RBb+vfd90rgv+zChUG7JOkVGyL0z5wZrV2SWrUhQv9yV2P2Ks2SdKkNEfoPPgibN1/atnnzoF2S9IoNEfoHDsAdd8CWLYP5LVsG836JK0mX2hBH7wDccsvgIUm6vA2xpS9J6sfQl6SGGPqS1BBDX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIb1CP8neJCeTLCS5d5nl1yf5VLf8S0l2DC37aNd+Msm7x1e6JGlUK4Z+kk3AQ8B7gN3A+5PsXtLtQ8DzVfWjwL8GfqtbdzewH3gzsBf4ve75JElT0GdLfw+wUFWnqupF4Ciwb0mffcAnuulPAz+XJF370ap6oar+Eljonk+SNAV9Qv8m4Nmh+cWubdk+VXUR+C7wIz3XlSRNSJ8LrmWZturZp8+6JDkIHATYfoUXwX/HO65otWY5XqNxvEbjeI1mkuPVJ/QXgZuH5rcBZy/TZzHJtcAW4HzPdamqw8BhgJmZmVd9KPThf7LROF6jcbxG43iNZpLj1Wf3znFgV5KdSa5j8MXs3JI+c8Dd3fRdwOerqrr2/d3RPTuBXcCXx1O6JGlUK27pV9XFJPcAjwKbgCNVdSLJIWC+quaA3wf+MMkCgy38/d26J5I8AjwFXAQ+XFUvrdHvIklaQQYb5OvHzMxMzc/PT7sMSbqqJHmiqmZW6ucZuZLUEENfkhpi6EtSQwx9SWqIoS9JDVl3R+8kOQecXsVT3Aj81ZjKGSfrGo11jca6RrMR63pjVW1dqdO6C/3VSjLf57ClSbOu0VjXaKxrNC3X5e4dSWqIoS9JDdmIoX942gVchnWNxrpGY12jabauDbdPX5J0eRtxS1+SdBlXZeiv5kbtU67rg0nOJXmye/zjCdV1JMlzSf7iMsuT5N90dX89yVvWSV3vSPLdofG6f0J13ZzkC0meTnIiya8v02fiY9azromPWZLXJflykq91df2rZfpM/D3Zs66pvCe7196U5KtJPrvMsrUbr6q6qh4MLu/8DPAm4Drga8DuJX3+CfDxbno/8Kl1UtcHgX83hTF7O/AW4C8us/zvA59jcKeztwJfWid1vQP47BTG6w3AW7rpvwH8j2X+LSc+Zj3rmviYdWPw+m56M/Al4K1L+kzjPdmnrqm8J7vX/gjwyeX+vdZyvK7GLf3V3Kh92nVNRVX9Nwb3ObicfcAf1MDjwA8lecM6qGsqqurbVfWVbvp/AU/z6ns7T3zMetY1cd0Y/O9udnP3WPpl4cTfkz3rmook24CfB/7DZbqs2XhdjaG/mhu1T7sugH/Y7Q74dJKbl1k+Dev5BvZ/p/vz/HNJ3jzpF+/+rL6NwVbisKmO2WvUBVMYs25XxZPAc8BjVXXZ8Zrge7JPXTCd9+TvAv8c+MFllq/ZeF2Nob+aG7WvpT6v+Z+BHVX1E8B/4ZVP8mmbxnj18RUGp5b/JPBvgT+Z5IsneT3wGeCfVtX3li5eZpWJjNkKdU1lzKrqpaq6lcF9sPck+dtLukxlvHrUNfH3ZJJ/ADxXVU+8Vrdl2sYyXldj6I9yo3Zy6Y3ap1pXVX2nql7oZv898FNrXFNfvW5gP2lV9b2X/zyvqmPA5iQ3TuK1k2xmEKyzVfXHy3SZypitVNc0x6x7zf8JfBHYu2TRNN6TK9Y1pffk24A7k3yLwW7gv5fkPy7ps2bjdTWG/mpu1D7Vupbs872TwT7Z9WAO+OXuiJS3At+tqm9Pu6gkf/Pl/ZhJ9jD4//qdCbxuGNz3+emq+p3LdJv4mPWpaxpjlmRrkh/qpv8acDvw35d0m/h7sk9d03hPVtVHq2pbVe1gkBOfr6oPLOm2ZuO14o3R15taxY3a10Fdv5bkTgY3iT/P4MiBNZfkPzE4quPGJIvAAwy+1KKqPg4cY3A0ygJwAfhH66Suu4BfTXIR+D6wfwIf3jDYEvsl4Bvd/mCAfwFsH6ptGmPWp65pjNkbgE8k2cTgQ+aRqvrstN+TPeuayntyOZMaL8/IlaSGXI27dyRJV8jQl6SGGPqS1BBDX5IaYuhLUkMMfUlqiKEvSQ0x9CWpIf8PXmT3R0G/RBAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6c53e9f0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy.stats import binom\n",
    "import matplotlib.pyplot as plt\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "n, p = 5, 0.5116\n",
    "x = np.arange(5)\n",
    "y = binom.pmf(x,n,p)\n",
    "ax.plot(x,y,'bo')\n",
    "ax.vlines(x, 0, binom.pmf(x, n, p), colors='b', lw=5, alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質\n",
    "\n",
    "為了方便討論，我們把二項分佈簡單的記做：$b(m;n,p)$ \n",
    "\n",
    "##### 性質一 \n",
    "$\\begin{align*}\n",
    "&b(m;n,p) > 0 , \\ \\ m = 0,1,\\dots, n: \\\\\n",
    "&\\sum_{m=0}^n b(m;n,p)  = \\sum_{m=0}^n C^m_n p^m (1-p)^{n-m} = (p + q)^n = 1 \\\\\n",
    "\\end{align*}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質二\n",
    "\n",
    "若 $p = 0.5$，則二項分佈是對稱的；若$p \\neq 0.5$ 則不是對稱的，且$n$越大越明顯。下圖便是對比，三條線：「樣本量一樣，概率不同」做對比；「樣本量不同，概率相同」做對比。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6c517610>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy.stats import binom\n",
    "import matplotlib.pyplot as plt\n",
    "fig, ax = plt.subplots(1, 1)\n",
    "\n",
    "n , p = 10, 0.5\n",
    "n_1, p_1 = 5, 0.70\n",
    "n_2, p_2 = 10, 0.70\n",
    "\n",
    "x = np.arange(n + 1)\n",
    "y = binom.pmf(x,n,p)\n",
    "ax.plot(x,y,'co', label = \"n = 10, p = 0.5\")\n",
    "ax.vlines(x, 0, y, colors='c', lw=5, alpha=0.5)\n",
    "\n",
    "x_1 = np.arange(n_1 + 1)\n",
    "y_1 = binom.pmf(x_1,n_1,p_1)\n",
    "ax.plot(x_1,y_1,'bo', label = \"n = 5, p = 0.70\")\n",
    "ax.vlines(x_1, 0, y_1, colors='b', lw=5, alpha=0.5)\n",
    "\n",
    "x_2 = np.arange(n_2 + 1)\n",
    "y_2 = binom.pmf(x_2,n_2,p_2)\n",
    "ax.plot(x_2,y_2,'ro', label = \"n = 10, p = 0.70\")\n",
    "ax.vlines(x_2, 0, y_2, colors='r', lw=5, alpha=0.5)\n",
    "\n",
    "ax.legend(loc='best', frameon=False)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質三 \n",
    "二項分佈$b(m;n,p)$的均值、方差、便準差分別為：\n",
    "$$ \\left\\{\n",
    "\\begin{aligned}\n",
    "E(X) &=& np \\\\\n",
    "Var(X) &=& npq \\\\\n",
    "sd(X) &=& \\sqrt{npq} \\\\\n",
    "\\end{aligned}\n",
    "\\right.\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質四\n",
    "\n",
    "* 二項分佈可以用不完全$\\beta$函數(Normalized Beta Distribution) 來表示：在 Bayesian Inference 裡，$\\beta$函數可以作為二項分佈的unconjugated prior，這個會留在 Bayesian Analysis 裡講，敬請關注；\n",
    "* 二項分佈有一個近似計算的方法：(Stirling Formula) 當$m, n$和 $m - np$都比較大的時候，我們可以使用泊松分佈去估計二項分佈，具體證明詳見：《統計分佈》（方開泰，王元）p59 - 61"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 泊松分佈(Poisson Distribution)\n",
    "\n",
    "泊松分佈適合於描述單位時間內隨機時間發生的次數的分佈。比如說：某交換台在一段時間內所接收到的呼喚次數、某個公交車站在一個固定時間內來到的乘客數量$\\dots$ \n",
    "\n",
    "泊松分佈的概率質量函數為：\n",
    "\n",
    "$$P(X = k) = \\frac{e^{-\\lambda}\\lambda^k}{k!}$$ \n",
    "\n",
    "泊松分佈的參數$\\lambda$是單位時間（或者單位面積）內隨機事件的平均發生率。\n",
    "\n",
    "#### 性質\n",
    "\n",
    "為了方便敘述，我們記做 $\\displaystyle p(k;\\lambda) = \\frac{e^\\lambda \\lambda^k}{k!}, \\ \\ P(x;\\lambda) = \\sum_{k=0}^{|x|}p(k;\\lambda), \\ k = 0,1,2,\\dots,n,$\n",
    "\n",
    "##### 性質一\n",
    "$\\begin{align*}\n",
    "&p(k; \\lambda) > 0 , \\ \\ k = 0,1,2, \\dots, \\\\ \n",
    "&\\sum_{k=0}^{\\infty} p(k;\\lambda) = e^{-\\lambda} \\sum_{k = 0}^{\\infty} \\frac{\\lambda^k}{k!} = e^{-\\lambda} e^{\\lambda} = 1\n",
    "\\end{align*}$\n",
    "\n",
    "##### 性質二\n",
    "\n",
    "當$k < \\lambda$時， $p(k, \\lambda) > p(k -1; \\lambda)$;$p(k, \\lambda) < p(k -1; \\lambda)$; 如果$\\lambda$ 不是整數，則$p(k;\\lambda)$，在 $k = [\\lambda] \\equiv k_0$處達到極大值，這裡$[\\lambda]$為不超過$\\lambda$的最大證書，如果$\\lambda$為整數，則$p(k;\\lambda)$在$k = \\lambda$在$k = \\lambda$及$ k = \\lambda - 1$處同時達到極大值。\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6c06bdd0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy import stats\n",
    "mu, k = 2, 10\n",
    "x = np.arange(0, k + 1, 1)\n",
    "\n",
    "pmf_poisson = stats.poisson.pmf(x, mu)\n",
    "\n",
    "plt.plot(x, pmf_poisson, 'bo')\n",
    "plt.vlines(x,0,pmf_poisson)\n",
    "plt.vlines(x, 0, pmf_poisson, colors='b', lw=5, alpha=0.5)\n",
    "plt.xlabel(\"there are 1000 accident\")\n",
    "plt.ylabel('probability')\n",
    "plt.title('poisson probability: mean = %i'%mu)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質三\n",
    "\n",
    "泊松分佈是非對稱的，當$\\lambda$越來越大時非對稱性越明顯，是當$n$增大時，非對稱性也會太明顯。\n",
    "\n",
    "$\\begin{align*}\n",
    "   E(X) &=& \\lambda \\\\\n",
    "   Var(X) &=& \\lambda \\\\\n",
    "   sd(X) &=& \\sqrt{\\lambda} \\\\\n",
    "\\end{align*}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAACgCAYAAAArWZqvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAHsxJREFUeJzt3X2cVHXd//HXmwWFlN0w6foZCGiiha2irOYNBF5oqYXmQ67SVtnFjCwV+Yl2WVqKl1xXaRk/VC5DK1HRINRLLrtRU7wBb1lEUsxEBNSoQAzY8A74/P4431kO48zuzO6ZnZ2Zz/PxmMec8z13nzPzmfM9d/M9MjOcc865jupW7ACcc86VB69QnHPOJcIrFOecc4nwCsU551wivEJxzjmXCK9QnHPOJaIkKxRJzZL2LXYcSZM0StIb7Zx2kCST1D3L8O9JujnTuJJ+J6mh/ZG79vJczjit53KJKskKxcx2N7OVxY6jlJjZf5rZ2VmGnWBmswAkNUpa2LnRlQ5JF0t6QdJmSa9Jurgj8/Nczp/ncjIkHSNpgaSNklZlGD4oDN8i6U+Sjm1rniVZoZSqbHtcrqQIGAf0AY4HzpN0WnFD6nyey2Xhn8AvgGw7RXcCzwEfAy4F5knq2+oczawoL2AV8F1gOfA28EugZ2z4N4AVwAZgPvCJ2DAD9gvdJ4Z5bAbeBC4K5XsC9wH/CPN4HOgWhn0aeCQMexE4KTbvW4AbgN+EeT4NfDLLOgwKsUwA/gKsBSbHhl8BzANuBzYBZwO7AtPC+H8J3buG8UcBbwDfA9aHz6g+Nr8vhi94E/A6cEWesdyeNm730P9IiO3TwLvANqA5fD6HAX9LjRvGPxVYmuP3fAswA/hdmOci4P+E9X4b+BNwSGz8TwB3AeuA14CJsWGHA0+GuNYC1wO7pOXFOcArYd43ACpwHk8P34fnsudySeYycCywKq1sf+A9oHes7HHgnFbnVcgfWxsrsQp4Adgb2CN8OVeFYf8akvDQkLTXAY9l+RGuBUaE7j7AoaH7v4AbgR7hNYJo77IH0Y/7e8AuYVmbgQNiSbMhfOHdgdnAr9r4Ed4J7AbUhuQ5Npb4HwBfJjoa7AVcCTwFfBzoCzwB/EfsR7gVuDas90iivYgDYsNrw7wOIvpxfDmPWFr9EYbuRmBh2nouB06I9d9D+IEDw4F/tPEjXA8MA3oCDxP9uMYBVcBVwIIwbjegCfhB+G72BVYCXwjDhwFHhO9lEPASMCktL+4DPgoMCOt/fJa4vkb0Y872GpBDDotoo/gWnsueyyWay2SuUE4BXkorux64rtV5dbRiaO+LqEI5J9Z/IvBq6P45cHVs2O4hmQdl+BGuAb4JVKfN/0rg3tR4sfIRwF8Je3ih7E7CHlJImpvT4vpTGz/CT8XKrgZ+Hkv8x9KmeRU4Mdb/hdSXyY4f4W6x4XOB72dZ/jTgp3nE0t4f4b8Ds0P3HsAWYK8cv+dbgJti/efHE5VoY/GP0P1ZYE3a9N8Ffpll3pOAe2L9BgxP++wuKWAOTwGe91z2XC7lXCZzhXIm8FRa2VTgltbmVexrKK/HulcTHSIS3lenBphZM9FeYL8M8ziV6IeyWtKjko4M5dcQ7b09IGmlpEti837dzLanLTs+77/GurcQbQTasx7pw1LLXx3rTx//bTP7Z6bhkj4bLpKtk7SR6JB4zzxiaa/bgTGSdge+AjxuZmvzmP5vse53MvSnPt+BwCck/SP1Itr7/hcASftLuk/SXyVtAv6TD69/vt9du0g6j2jP9IuhyHPZc7kkczmLZqA6raya6Ag4q2JXKHvHugcQnS8lvA9MDZC0G9GFoTfTZ2Bmz5rZyUSH3f9DVJNjZpvNbLKZ7QuMAS6UNDrMe29J8XUfkGneCawHRHsacTutW4bx+4T1zTT8DqJz8HubWQ3RaRDlEUsu0uPFzN4kOt97CtGey215zjNXrwOvmdlHY6/eZnZiGP7fROepB5tZNdEPNH39cyKpPtyym+01oJVpzwIuAUabWerWWM9lz+W4ksjlVrwI7Cupd6zs4FCeVbErlHMl9Ze0B9EHOieU3wGMlzRU0q5EtffTZrYqPrGkXcKHWWNmHxBd4NsWhn1J0n6SFCvfRnRh8p/AdyT1kDSK6Ef6qw6sx/clfUTSgcD42HpkcidwmaS+kvYkOsd6e9o4U8K6jQC+BPw6lPcGNpjZu5IOJzp32pFYMvkb0F/SLmnltwLfITqsvyfPeebqGWCTpH+X1EtSlaTPSDosDO9N9F02S/oU8K32LsjMZlt0y26215pM00mqJ8rH42zn2309lz2X40ohl7tJ6kl0LU6SeqY+KzP7M7AUuDyUn0J0reuu1mIpdoVyB/AA0cWqlUQXtTCzh4DvEwW/FvgkkO3WzDOBVeGw8RzgjFA+GPgD0aHbk8AMM3vEzN4HTgJOILrANgMYZ2Z/6sB6PEp0SuIh4Mdm9kAr414FLAaWAX8EloSylL8S3dXxF6KLqOfEYvs2cKWkzUQ/3rkdjCWTh4n2Qv4qaX2s/B6ivdF74qcxJI2Q1JznMjIys21EG8ShRBc71wM3AzVhlIuINjybgZvIfwOThKuIjjCeTe0Bhn7PZc/lFiWSy58jOk33W6IjwHeIcjjlNKCO6Dv8ITDWzNa1NkOFiy2dTtEfac42sz8UJYAESBpElCw9zGxrcaMpPEmvAt8s5e+sEDyXS4/ncmEU+wjFlQhJpxKdk3642LE41xGey4Xj/3Z1bZL0CDAEODPtjiLnSorncmEV7ZSXc8658uKnvJxzziXCKxTnnHOJKLlrKHvuuacNGjSo2GG4MtXU1LTezFpvUbVAPLddIXVKbheibZhCvoYNG2bFdvvtZgMHmknR++23l8eynBmw2Co4t12JymFD0Rm5XXJHKMU2ezZMmABbtkT9q1dH/QD19aW7LOdciepCGwq/hpKnSy/d8b2lbNkSlZfyspxzJaoLbSi8QsnTmoyt4mQvL5VlOedKVBfaUHiFkqcBWdrtzFZeKstyzpWoLrSh8AolT1OnQo8eO5f16BGVl/KynHMlqgttKLxCyVN9PYwZA1VVzYBRUxP1F+LaV2cuyzlXosKGormqKnoATBE3FH6XVzvU1kJT0zwAGhsby2ZZzrkSVVvLvKYmoLjbCT9Ccc45lwivUJxzziXCKxTnnHOJ8ArFOedcIrxCcc45lwivUJxzziXCKxTnnHOJ8ArFOedcIrxCcc45lwivUJxzziXCKxTnnHOJ8ArFOedcIrxCcc45lwivUJxzziXCKxTnnHOJyKlCkVTVnplLOl7Sy5JWSLokw/ALJS2XtEzSQ5IGtmc5zrVm27ZtxQ7BuYqQ6xHKCknXSBqS64xDJXQDcAIwBDg9w/TPAXVmdhAwD7g61/k7l6v99tuPiy++mOXLlxc7FOfKWq4VykHAn4GbJT0laYKk6jamORxYYWYrzex94FfAyfERzGyBmW0JvU8B/fOI3bmcLFu2jP3335+zzz6bI444gpkzZ7Jp06Zih+Vc2cmpQjGzzWZ2k5kdBXwHuBxYK2mWpP2yTNYPeD3W/0Yoy+brwO9yice5fPTu3ZtvfOMbPPHEE1x99dVMmTKFvfbai4aGBlasWFHs8JwrGzlfQ5F0kqR7gP8H/ATYF/hf4LfZJstQZlnmfwZQB1yTZfgESYslLV63bl0uITvXYtu2bcyfP59TTjmFCy64gMmTJ7Ny5UrGjBnDiSeeWOzwnCsb3XMc7xVgAXCNmT0RK58n6XNZpnkD2DvW3x/4S/pIko4FLgVGmtl7mWZkZjOBmQB1dXUZKyXnshk8eDDHHHMMF198MUcddVRL+dixY3nssceKGJlz5SXXCmWcmS2MF0g62swWmdnELNM8CwyWtA/wJnAa8LW0eRwC/Aw43sz+nl/ozuXm1ltvZfjw4TuVLVq0iKOPPprp06cXKSrnyk+uF+Uz/equa20CM9sKnAfcD7wEzDWzFyVdKemkMNo1wO7AryUtlTQ/x3hcgcyeDYMGQbdu0fvs2cWOqOMmTvzwPs/5559fhEicK2+tHqFIOhI4Cugr6cLYoGqgzf+mmNlvSbvGYmY/iHUfm1e0rqBmz4YJE2BLuO9u9eqoH6C+vnhxtdeTTz7JE088wbp167j22mtbyjdt2uT/TXGuANo6QtmF6AiiO9A79toEjC1saK6zXXrpjsokZcuWqLwUvf/++zQ3N7N161Y2b97c8qqurmbevHnFDs+5stPqEYqZPQo8KukWM1vdSTG5IlmzJr/yrm7kyJGMHDmSxsZGBg70RhicK7S2TnlNM7NJwPWSPnR3lZmdlGEyV6IGDIhOc2UqL0WTJk1i2rRpnHfeeUgfvot9/ny/ZOdcktq6y+u28P7jQgfiim/qVBg/Hj74YEdZjx5ReSk688wzAbjooouKHIlzlaGtU15N4f3RzgnHFVN9Pdx9N9x7bzPbtu1GTY0YPbo0L8gDDBs2DIhOfTnnCq+tU15/JMu/2wFCo46ujNTWQlNTdMG6sbGxuMF0UG1tbcZTXSnLli3rxGicK39tnfL6UqdE4VwB3HfffcUOwbmK0tYpL7+zy5Usv7PLuc7V6v9QJC0M75slbUp/75wQnWufVHMrvXv3prq6+kPvzrlktXWEMjy89+6ccJxLzsKFUfNzmzdvLnIkzlWGXBuHRNKhwHCii/QLzey5gkXlXMKWLFnCwoULkcTw4cM55JBD2pxG0vFEj2uoAm42sx+mDd8VuBUYBrwFfNXMVkk6DvghUUsT7wMXm9nDya6Rc11Prs9D+QEwC/gYsCdwi6TLChmYc0m58soraWho4K233mL9+vU0NjZy1VVXtTpNjo+w/jrwtpntB/wU+FEoXw+MMbNaoIEd/+dyrqzleoTyNWComb0LIOmHwFKg9V+lc13AHXfcwdKlS+nZsycAl1xyCUOHDuWyy1rdJ2p5hDWApNQjrOMPpj8ZuCJ0zyNqUUJpR+8vAj0l7ZrteT/OlYtcm69fC/SM9e9K9IyTLqEcm1x3ydlrr7149913W/rfe+89+vVr7WnUQG6PsG4ZJzyuYSPRUXzcqcBzXplUmArdKLX1x8briK6ZbARelPRg6D8OeKbw4bWt3Jpcd8k5//zzkURNTQ0HHnggxx13HJJ48MEHOfzww9uaPJdHWLc6jqQDiU6DfT7rQqQJwASAAaXaaJrbWQVvlNo65bU4vDcB98TKHylINO3QWpPrZf7duTbU1dUBURMsp5xySkv5qFGjcpk8l0dYp8Z5Q1J3oAbYACCpP9FvZpyZvZptIf546zJUwRultm4bntVZgbRXuTW57pLT0NDQkcnbfIQ1MJ/oovuTRM8HetjMTNJHgd8A3zWzRR0JwpWgCt4o5XqX12BJ8yQtl7Qy9Sp0cLnIdpbAzx64lFdeeYWxY8cyZMgQ9t1335ZXa3J8hPXPgY9JWgFcCFwSys8D9gO+Hx5tvVTSxwuxbq4LquCNUq4X5X8J/DewFTiG6N772wsVVD6mTo2aWI8r5SbXXfLGjx/Pt771Lbp3786CBQsYN24cZ5xxRpvTmdlvzWx/M/ukmU0NZT8ws/mh+10z+zcz28/MDk/dEWZmV5nZbmY2NPb6e0FX0nUdFbxRyrVC6WVmDwEys9VmdgXwxcKFlbv6ehgzBqqqmgGjpibqL/NTlS4P77zzDqNHj8bMGDhwIFdccQW/+c1vih2WK1dho9RcVRXdoVFBG6Vc/4fyrqRuwCuSziM6p7x74cLKTzk1ue6S17NnT7Zv387gwYO5/vrr6devH83NzcUOy5Wz2lrmNTUBlbVNyvUIZRLwEWAiUTMTZxJdjHSuy5s2bRpbtmxh+vTpNDU1cdtttzFrVpe/38S5kpPTEYqZPQsQjlImmpm3tudKxmGHHQbA9u3bmT59Or17e1unzhVCrnd51YWnNy4D/ijpeUnDChuac8lYvHgxtbW1HHTQQdTW1nLwwQfTFE5HOOeSk+spr18A3zazQWY2CDiX6M6vVkk6XtLLklZIuiTD8M9JWiJpq6SxeUXuXI7OOussZsyYwapVq1i1ahU33HAD48ePL3ZYzpWdXCuUbWb2eKrHzBYS3UKcVY6tta4BGoE7cg3YuXxVVVUxYsSIlv7hw4fTvXvOT25wzuWorba8Dg2dj0r6GXAnUVtFX6Xt5lfabK3VzFaFYdvbEbtzrVqyZAkAI0eO5Jvf/Cann346kpgzZ06uza845/LQ1m7aT9L6L491t9XuUKbWWj+bY1zOddjkyZN36p8yZUpLt5SpXUfnXEe01ZbXMR2Ydy6tteY2I2+RtWzNnh21mbdmTdQyxdSpyf3/a8GCBcnMyDmXk1zv8qqRdK2kxeH1E0k1bUyWS2utOTGzmWZWZ2Z1ffv2bc8sXBeUauV79Wow29HKd9KPjti4cSMXXnghdXV11NXVMXnyZDZu3JjsQpxzed3ltRn4Snhtou27vFpaa5W0C1FrrfPbG6grP6218p2ks846i969ezN37lzmzp1LdXW13+XlXAHkeqvLJ83s1Fj/FElLW5vAzLaGZlruB6qAX6RaawUWm9l8SYcRPTOiDzBG0hQzO7Ad6+FKUGe18v3qq69y1113tfRffvnlDB06NNmFOOdyPkJ5R9LwVI+ko4F32pooh9ZanzWz/qFl1o95ZVJZOquV7169erFw4cKW/kWLFtGrV69kF+Kcy/kI5Rzg1th1k7fxtrxcB02dCuPHwwcf7CgrRCvfN954I+PGjWu5btKnTx9vy8u5AmizQgntdx1gZgdLqgYws00Fj8yVvfp6uPtuuPfeZrZt242aGjF6dLKtfG/fvp2XX36Z559/nk2borStrq5ObgHOuRZtnvIys+3Ad0L3Jq9MXJJqa6F//3kMHDiLSZOi/iR169aNq6++GogqEq9MnCucXK+h/EHSRZL2lrRH6lXQyJxLyLHHHsuPf/xjXn/9dTZs2NDycs4lK9drKF8l+lPit9PKW38wt3NdwJw5c5DEjBkzdipfuXJlkSJyrjzlWqEMIapMhhNVLI8DNxYqKOeStHz5cmbMmMHChQuRxIgRIzjnnHOKHZZzZSfXCmUW0Z8Zp4f+00PZVwoRlHNJamhooLq6mokTJwJw55130tDQwNy5c4scmXPlJdcK5TNmFm96foGk5VnHdq4LeeGFF1i+fEe6HnPMMQwZkv4kBVf2CtlwnANyvyi/RNIRqR5JnwUWFyYk55J16KGH8tRTT7X0P/3009TV1RUxItfpOqvhuAqX6xHKMOAJSalGMQYAL4fHApuZHVSQ6JxLQFNTE0cddVRLS9Vr1qzhgAMOoLa2FkksW7asyBG6gmut4Tg/SklMrhXK8QWNwrkC+v3vf1/sEFyxdVbDcRUupwrFzFYXOhDnCmXgwIHFDsEV24AB0WmuTOUuMbleQ3HOudI1dWrUUFxcIRqOq3BeobiKMXs2DBoE3bpF7349toLU18OYMTRXVUWPja2pgTFj/PpJwnK9huJcSUvd5JO6Lpu6yQd8m1IxamuZ19QEQGNjY3FjKVN+hOIqQmc9HdK5SuYViqsIfpOPc4XnFYqrCJ31dEjnKplXKK4i+E0+zhWeVyiuIoSbfKiqagbMb/JxrgC8QnEVo9BPh3R58vu4y47fNuyc63x+H3dZ8iMU51zn8/u4y5JXKM65zuf3cZclr1Ccc5HOvKbh93GXpYJWKJKOl/SypBWSLskwfFdJc8LwpyUNKmQ8zuWjI/kr6buh/GVJX2h3EJ21ke/sB1D5fdxlqWAViqQq4AbgBGAIcLqk9Oeufh1428z2A34K/KhQ8TiXj47kbxjvNOBAomcJzQjzy09nbuQ7+5qGN9ZYlgp5hHI4sMLMVprZ+8CvgJPTxjkZmBW65wGjJamAMTmXq47k78nAr8zsPTN7DVgR5pefztzIF+OaRm0t8/r3Z9bAgfh93OWhkLcN9wNej/W/AXw22zhmtlXSRuBjwPr4SJImABOAlse4xo0aBaNGNSYUdts6c3nlvG6dvbw8l9WR/O0HPJU2bb9MC2k1tztzI1+MB1CNGkXjqFGFm38xl1fO69aKQlYomY40rB3jYGYzgZkAdXV1Hxre2Z9jJ+dJpyrn5eW5rI7kb055DW3kdmdu5KdO3fl/IQAf+Uhhr2l4spXu8rIo5CmvN4C9Y/39gb9kG0dSd6AG2FDAmJzLVUfyN5dp2zZ1arRRjyvURr6+HmbOhIEDQYreZ870axouL4WsUJ4FBkvaR9IuRBcp56eNMx9oCN1jgYfNLOOenHOdrCP5Ox84LdwFtg8wGHgm7wg6eyNfXw+rVsH27dG7VyYuTwU75RXOKZ8H3A9UAb8wsxclXQksNrP5wM+B2yStINqzO61Q8TiXj47kbxhvLrAc2Aqca2bb2hVIfb1v2F3JUKkdEEhaB2Q4sQzAnqRd0C8j5bxu0HXWb6CZ9S3Ggj23y1JXWreC53bJVSitkbTYzOqKHUchlPO6QfmvX0eV8+fj61Y+vOkV55xzifAKxTnnXCLKrUKZWewACqic1w3Kf/06qpw/H1+3MlFW11Ccc84VT7kdoTjnnCuSsqhQ2mpmvJRJ2lvSAkkvSXpR0gXFjilpkqokPSfpvmLH0tV4bpe2Ssvtkq9QcmxmvJRtBSab2aeBI4Bzy2z9AC4AXip2EF2N53ZZqKjcLvkKhdyaGS9ZZrbWzJaE7s1EyZmx5dpSJKk/8EXg5mLH0gV5bpewSsztcqhQMjUzXjZJGReeCHgI8HRxI0nUNOA7wPZiB9IFeW6XtorL7XKoUHJuKryUSdoduAuYZGabih1PEiR9Cfi7mTUVO5YuynO7RFVqbpdDhZJMU+FdmKQeRD+42WZ2d7HjSdDRwEmSVhGdzvlXSbcXN6QuxXO7dFVkbpf8/1DCcyj+DIwG3iRqdvxrZvZiUQNLSHik7Cxgg5lNKnY8hSJpFHCRmX2p2LF0FZ7b5aGScrvkj1DMbCuQamb8JWBuufzggqOBM4n2cJaG14nFDsoVnue2KzUlf4TinHOuayj5IxTnnHNdg1cozjnnEuEVinPOuUR4heKccy4RXqE455xLRMVVKJI+Kunbsf5RpdgSqKTzQgu0JmnPWLkkTQ/Dlkk6NDasQdIr4dUQKx8m6Y9hmunh/wGFiPmkbC3mSmruwHwbJX2i/ZGVB89tz+2iM7OKegGDgBdi/aOA+zowv+4JxlaVx7iHhHVZBewZKz8R+B1Rsx1HAE+H8j2AleG9T+juE4Y9AxwZpvkdcEIRvpfmDkz7CFBX7Nwq9stz23O72K+KO0IBfgh8MvyJ6ppQtrukeZL+JGl2ai8m7N08KqlJ0v2S9grlj0iaJmkxcIGkvpLukvRseB2dvlBJgyQ9LmlJeB0VykeF8vmEZq4lnSHpmRDjz0Iz5jsxs+fMbFWG9TsZuNUiTwEfDXF/AXjQzDaY2dvAg8DxYVi1mT1pUQbfCnw5Q/xjJD2t6NkOf5D0L6F8d0m/DHuByySdGsqPD+v5vKSHQlmjpOtD9z6SngzTXZW2rIvD57hM0pTY5/eSpJsUPTvjAUm9JI0F6oDZ4fPqleV7rwSe257bxVXsGq2zX2Tei9tI1E5SN+BJYDjQA3gC6BvG+yrwC9ux1zAjNo87gOGhewDwUoblfgToGboHA4tjy/8nsE/o/zTwv0CP0D8DGNfK+qxi5724+1KxhP6HiJLyIuCyWPn3Q1kd8IdY+Qgy7NUS7fml/gh7NvCT0P0jYFraeH2JWslNrdMe4b0RuD50z0+tF3AuYS8O+DzRc7gVvo/7gM+F720rMDSMNxc4I/Z9lMxenOe253a55nZ3HMAzZvYGgKSlRF/wP4DPAA+GnboqYG1smjmx7mOBIdpxerZaUm+LnvGQ0gO4XtJQYBuwf9ryXwvdo4FhwLNhfr2Av+exLtlaqM23PF1/YE7Y69sFSMV7LHBay4Rmb0saAzyWWicz25BhfkcDp4bu24h+vBD96D4PPBf6dyfaSK0BXjOzpaG8ieh7cq3z3P5weTrP7YR4hRJ5L9a9jehzEfCimR2ZZZp/xrq7AUea2TutLOP/An8DDg7jv5tlXgJmmdl3c4w9XbYWat8g2mOMlz8SyvtnGD/ddcC1ZjZfUWN3V8TiTf+RZirLJNM4Av7LzH62U2H0vIz076nrnwIoPs/tD4+fznM7IZV4DWUz0DuH8V4G+ko6EqJmtiUdmGXcB4ga8SOMOzTDODXAWjPbTtQg3ofOHQcPAWMlfTzMaw9JA3OIN2U+ME6RI4CNZraWqIHBz0vqI6kP0Z7S/WHYZklHhPPr44B7s8T/ZuhuiJWnr3sfolMrIyXtk1qHDPNbxI69v/pY+f3AWYqekYGkfqnPohW5fqflznPbc7uoKq5CMbO3gEWSXtCOC5eZxnsfGAv8SNLzwFLgqCyjTwTqwoW25cA5GcaZATSEeX2Knffc4stdDlwGPCBpGdEFxr3Sx5M0UVJqD2yZpNRjRn9LdJfLCuAm4NthvhuA/yBqAv1Z4MrY4fq3iB5TugJ4lehumHRXAL+W1ASsj5VfBfQJn+fzwDFmtg6YANwdyuZ8aG7Rs7bPlfRHYk8hNLMHiM7bPxmGzaPtH9QtwI0lc+GyQDy3PbeLzVsbds45l4iKO0JxzjlXGF6hOOecS4RXKM455xLhFYpzzrlEeIXinHMuEV6hOOecS4RXKM455xLhFYpzzrlE/H+AZvDvLhGoOQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6bf2ddb0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy import stats\n",
    "fig, ax = plt.subplots(1, 2)\n",
    "mu, k = 2, 5\n",
    "x = np.arange(0, k + 1, 1)\n",
    "\n",
    "pmf_poisson = stats.poisson.pmf(x, mu)\n",
    "\n",
    "plt.subplot(221)\n",
    "plt.plot(x, pmf_poisson, 'bo')\n",
    "plt.vlines(x,0,pmf_poisson)\n",
    "plt.vlines(x, 0, pmf_poisson, colors='b', lw=5, alpha=0.5)\n",
    "plt.xlabel(\"there are 1000 accident\")\n",
    "plt.ylabel('probability')\n",
    "plt.title('poisson probability: mean = %i'%mu)\n",
    "\n",
    "plt.subplot(222)\n",
    "mu_1, k_1 = 10, 5\n",
    "x_1 = np.arange(0, k_1 + 1, 1)\n",
    "\n",
    "pmf_poisson_1 = stats.poisson.pmf(x_1, mu_1)\n",
    "\n",
    "plt.plot(x_1, pmf_poisson_1, 'ro')\n",
    "plt.vlines(x_1,0, pmf_poisson_1)\n",
    "plt.vlines(x_1, 0, pmf_poisson_1, colors='r', lw=5, alpha=0.5)\n",
    "plt.xlabel(\"there are 1000 accident\")\n",
    "plt.ylabel('probability')\n",
    "plt.title('poisson probability: mean = %i'%mu_1)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 性質四 \n",
    "\n",
    "* 若$X_1, \\dots, X_n$是獨立同分佈的隨機變量，則 $X_1\\sim P(\\lambda)$等價於 $\\sum_{i=1}^n X_i \\sim P(n\\lambda)$.\n",
    "* 設$X_1, \\dots, X_n$相互獨立，且$X_i \\sim P(\\lambda_i), i = 1,2,\\dots,n$, 則$\\sum_{i=1}^n X_i \\sim P(\\lambda)$,其中$\\lambda = \\lambda_1 + \\dots \\lambda_n$ "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 超幾何分佈 (Hypergeometric Distirbution) \n",
    "\n",
    "**超幾何分佈**描述了由有限物件中抽出$n$個物件，成功抽出制定種類的物件的個數（不歸還（without replacement））。例如，在由$N$個紅球之中，其中有$K$個藍球。超幾何分佈描述了在$N$個樣本中抽出$n$個，其中$k$個是籃球的概率：\n",
    "\n",
    "$$f(k;n,K,N) = \\frac{\\binom{K}{k} \\binom{N - K}{n - k}}{\\binom{N}{n}}$$\n",
    "\n",
    "其實，很容易看出這氣勢就是一個「排列」問題：從$N$個紅球中抽出$k$個籃球的可能性有$\\binom{k}{K}$種，$(n - k)$件紅球從$N - K$個紅球中抽取的一切可能性是$\\binom{n - k}{N - K}$種， 所抽出的$n$個球中出現的次序總共有$n!$種可能的排列，於是所求的概率為：\n",
    "\n",
    "$$P(X = k) = \\frac{\\binom{K}{k} \\binom{N - K}{n - k}}{\\binom{N}{n}}$$\n",
    "\n",
    "所以，我們可以給出一個新定義：若隨機變量$X$的取值是閉區間：$[max(0, M + n - N), min(M,n)]$內的一切整數， 且$X = k$的概率應該是P(X = k)$，則響應的分佈叫做超幾何分佈，記做$X\\sim H(M, N, n)$. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x6bfbb470>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.stats import hypergeom\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "[M, n, N] = [20, 7, 12]\n",
    "rv = hypergeom(M, n, N)\n",
    "x = np.arange(0, n+1)\n",
    "pmf_dogs = rv.pmf(x)\n",
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111)\n",
    "ax.plot(x, pmf_dogs, 'bo')\n",
    "ax.vlines(x, 0, pmf_dogs, lw=2)\n",
    "ax.set_xlabel('# of dogs in our group of chosen animals')\n",
    "ax.set_ylabel('hypergeom PMF')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 負二項分佈 (Negative Binormial Distribution)\n",
    "\n",
    "負二項分佈描述在一系列獨立筒分佈的伯努利實驗中，失敗次數達到指定次數（記為$r$）時臣工次數的離散概率分佈。比如，如果我們定義擲骰子隨機變量$x$值為$x = 1$時為失敗，所以$x \\neq 1$為成功，這時我們反覆擲骰子知道$1$出現三次，此時非$1$數字出現的概率分佈為負二項分佈。\n",
    "\n",
    "負二項分佈也被稱為帕斯卡分佈(Pascal Distribution)，時幾何分佈的直接推廣，正如幾何分佈可以用伯努利實驗來定義一樣，負二項分佈也可用伯努利實驗來定義。\n",
    "\n",
    "顯然，事件$X = k$等價於“第$k$次試驗出現成功，前面$k - 1$實驗中成功“$r - 1$次”故：\n",
    "\n",
    "$$P(X = k) = p C_{k - 1}^{r - 1} p^{r - 1} q^{k-r} = C_{k - 1}^{r - 1} p^rq^{k - r}, \\ \\ k = r, r + 1, \\dots$$\n",
    "\n",
    "令$Y= X - r$， 則$Y$的分佈的： \n",
    "\n",
    "$$P(Y = k) = P(X = k + r) = C_{k + r - 1}^k p^r q^k, \\ \\ k = 0,1, \\dots$$\n",
    "\n",
    "通常我們稱它為「等待時間分佈」， 記做$Y \\sim NB(r, p)$"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
